Can you reference an entire column in OpenOffice Calc (like A:A in Excel)?

You can make it less complicated by naming the column. Select the column and name it via the Name Box near the upper-left corner of Calc. You can't use A:A, but AA will work. This is similar to #3 above. It seems to handle insert/delete of rows fine, but I didn't test it all that much. Make a template with every column named and start there when you need the feature. That seems to be the approach requiring the least effort.

However, this still doesn't work like I would expect. It's the same as using $A:$A in Excel. If you copy the formula to a new column, it will continue to reference column A instead of being translated to a new column by the offset of the copy. It makes things really cumbersome if you're used to this feature.

In the end, to duplicate the functionality precisely, looks like we have to use A$1:A$1048576.


No, but it will be available in a future version of Calc: https://bugs.documentfoundation.org/show_bug.cgi?id=44419

Edit: Actually, it's already downloadable in "LibreOffice Fresh".

Also this question is about OpenOffice, which is a separate product now. I don't know if they incorporate changes like this from LibreOffice, but I found this:

In the long run, this means that big improvements to OpenOffice can be incorporated into LibreOffice, while big improvements to LibreOffice can’t be incorporated into OpenOffice. This clearly gives a big advantage to LibreOffice, which will develop quicker and incorporate more features and improvements.

Edit: Actually this is not really fixed. You can enter A:A in some places, but it's then converted to A1:A1048576 which is not the same thing. It doesn't actually treat A:A as it should. If you move rows around, it becomes broken, for instance.

Also it seems that if you use it to make charts, your charts will become hundreds of MB inside the zip file and slow down the computer, etc.


Go to some cell (let's say, B1) and insert the value "A1048576" on it.

Then, to reference all values from the A column, simply enter something like

=max(a1:index(b1))

It doesn't matter if you delete some rows from the range; the b1 content always assure that you are referencing the last cell from the A column.

Note: In my installation of Calc the formula would be =máximo(a1:índice(b1)), so I'm not sure the function name is really index in English.