Excel COLUMN and ROW functions

Posted on January 01, 2019

Using the COLUMN and ROW functions are preferred over the CELL function, because the latter is volatile and will calculate with every change in Excel, even to cells that are not precedents. However, care must be taken to avoid accidentally passing a range of cells, instead of a single cell, to COLUMN and ROW.

If passed a single cell, it returns the column number of the cell.

If passed a range of cells, even if the range is an entire column or row, it returns an array of column or row numbers for each cell in the passed range. This is confusing, and very slow.

If a range is not passed to COLUMN or ROW the range will default to the current cell, which is usually perfect.

Even when a single cell is passed, it is still technically passed as a single-value array, and a single-value array is returned. Although Excel will generally still work as expected, to be explicit would be better, like INDEX(COLUMN(),1), which will return the first value from the array.