Google Spreadsheet, copy column in sheet to column in another sheet

I'm trying to figure out how to have the entire contents of a column in one sheet show in another sheet.

For example I have column D in sheet2 that I want to show in column A of sheet1. Something like:

=ARRAYFORMULA(Sheet2!D)

But that gives me a syntax error.


Use:

=ArrayFormula('Sheet2'!D:D)


If you want to share columns across separate files, you can use:

=importrange("17s-yYzX8GYvyA2PorY2PLaZ5OpFi14wU0ugAyTIrL24","Sheet1!G:J")

where the first string is the key of the sheet file that you want to import from. You can copy that directly from the URL e.g. https://docs.google.com/spreadsheets/d/17s-yYzX8GYvyA2PorY2PLaZ5OpFi14wU0ugAyTIrL24/edit#gid=0. The second string is the name of the sheet in the source file and in the example G:J means import columns G through J.


={'Sheet2'!X:X}

Needs single-quotes around the sheet name.


More info

Both two formulas display the column like a Row, it "Transpose" the group of cells.

- ArrayFormula('Sheet'!X:X)
- Importrange("sheetkey","nameSheet!x:x")

But this beatifull formula copy the column without changing the direction.

- {Sheet2!X:X}