我想引用整个列,就像在 Excel 中使用 一样A:A
。我找到了一个讨论在 openoffice.org 论坛上,这个论坛已经有几年历史了,它表明没有/没有很好的方法可以做到这一点。提供的选项是
- 使用
A1:A65536
。 - 因为
OFFSET($A$1;0;0;65536;1)
如果插入或删除行,先前的范围可能会发生改变。 - 使用数据->定义范围...命名列范围(但对我来说仍然等同于
$A$1:$A$1048576
)。
这些方法似乎过于复杂,但仍然不能完美地实现我的目标。有谁知道引用整个列的更简单的方法吗?
答案1
否,但它将在 Calc 的未来版本中提供:https://bugs.documentfoundation.org/show_bug.cgi?id=44419
编辑:实际上,它已经可以在“LibreOffice 新鲜版“。
此外,这个问题与 OpenOffice 有关,它现在是一个独立的产品。我不知道他们是否从 LibreOffice 中吸收了类似的变化,但我发现这:
从长远来看,这意味着 OpenOffice 的重大改进可以融入 LibreOffice,而 LibreOffice 的重大改进则不能融入 OpenOffice。这显然给 LibreOffice 带来了巨大优势,它将发展得更快,并融入更多功能和改进。
编辑:实际上,这并没有真正解决。您可以A:A
在一些地方输入,但随后会转换为A1:A1048576
不同的内容。它实际上并没有A:A
按应有的方式处理。例如,如果您移动行,它就会损坏。
另外,如果您使用它来制作图表,您的图表在 zip 文件中将变成数百 MB,从而降低计算机速度等。
答案2
您可以通过命名列来使其变得不那么复杂。选择列并通过 Calc 左上角附近的名称框命名。您不能使用 A:A,但 AA 可以。这类似于上面的第 3 点。它似乎可以很好地处理行的插入/删除,但我没有对其进行太多测试。制作一个带有每个列名称的模板,并在需要该功能时从那里开始。这似乎是需要最少努力的方法。
但是,这仍然不像我预期的那样有效。这与在 Excel 中使用 $A:$A 相同。如果将公式复制到新列,它将继续引用 A 列,而不是根据副本的偏移量转换为新列。如果您习惯了此功能,这会让事情变得非常麻烦。
最后,为了精确复制功能,看起来我们必须使用 A$1:A$1048576。
答案3
我自己一直在寻找这个问题的答案,但一路上却发现了另一种选择。
当我阅读有关命名列的答案时,我不清楚。
从这个初学者的角度来看,它试图说的是,当你选择整行时,在左上角的下拉框中,它会显示这样的效果A1:A1048576
:..你重命名该列以给它一个名字,并用它来代替 Excel 的A:A
但这一直给我带来问题,就像我找到更好的方法一样,如果它适用于其他发现这篇文章需要的人。
相反,比如说 A1.. 我有一个标题.. Total
我们会说.. 以及它下面的所有价值。
我只是使用它而不是重命名列,并且基本工作相同,没有那么多问题...尽管在使用诸如/
(这是我遇到的一个问题)之类的函数的标题字符的情况下,您需要记住在 ie 之前和之后加上撇号..'Km/Gal'
使 Calc 感到困惑,直到我意识到我需要它们......
我必须先将其命名为一个正常的名字(kmgal)
,然后在我输入计算平均值的公式后更改它。其中 Calc 帮我纠正了它,然后我注意到它做了什么并自己修复了它们。
所以简单地说,在我使用的用法中......
=ROUND(AVERAGE('Km/Gal');3)
答案4
转到某个单元格(比如说,B1)并在其中插入值“A1048576”。
然后,要引用 A 列中的所有值,只需输入类似
=max(a1:index(b1))
即使您从范围中删除一些行也没有关系;b1 内容始终确保您引用的是 A 列的最后一个单元格。
笔记:在我安装的 Calc 中,公式是=máximo(a1:índice(b1))
,所以我不确定函数名称是否真的是index
英文的。