在 OpenOffice.org Calc 中获取相邻列的值

在 OpenOffice.org Calc 中获取相邻列的值

我正在尝试获取 OpenOffice.org Calc 中相邻列的值。

我有几行,每行都有一列,当其右边的列有值时,该列的值应该加一。

所以我希望有这样的东西。

1 Some content $50
2 More content $320
3 Even More    $70
4              $110

在上面的例子中,由于两列中至少有一列右侧有一个值,因此通过增加 1 得出 1、2、3 和 4。

答案1

问题到底是什么?是引用相邻单元格的问题,还是有条件的计算值?有关相对引用,请参阅尤金的答复。要有条件地插入内容,您可以结合使用IF 函数以及CONCATENATE 函数

=IF(CONCATENATE(B1;C1) <> "";1;"")

如果连接单元格之一包含值,则将结果连接为字符串。

如果要插入的内容取决于上面的行,则必须从第二行开始表格,或者使用与第二行不同的函数:

=IF(CONCATENATE(B2;C2) <> "";SUM(A1;1);"")

下一点是,例如,如果第八行 B8:C8 中没有值,该怎么办。只需增加 A9 中上述单元格的值,就会从 1 重新开始:

基于条件的计数

如果你想继续计数,你必须从当前单元格开始计算上面不为空或 0 的单元格。有一个COUNTIF 函数就是这样的。因此,你的函数可能看起来像(再次从第 2 行开始):

=IF(CONCATENATE(B2;C2) <> "";SUM(COUNTIF($A$1:A1;">0");1);"")

或者,将其分成不同的行并加上注释:

=IF(
    CONCATENATE(B2;C2) <> ""; # Condition to check
    SUM(                      # output if condition matches
        COUNTIF($A$1:A1;">0");# count cells from $A$1 to cell above if not 0
        1                     # augment value by 1
    );
    ""                        # output if condition doesn't match
)

这是第二行的函数;只需将单元格复制到下一行即可。它应给出以下结果:

基于条件的计数

答案2

在 OpenOffice 的帮助文件中搜索“相对引用”。您需要的是相对引用。

在第一列第一行中,$A$1 为 1。因此,在第二行 ($A$2) 中,您可以写“=A1+1”。A1 是相对引用 - 如果您将单元格(不是公式,而是单元格本身)从 $A$2 复制到 $A$3,新单元格将自动获得公式“=A2+1”。

也可以有绝对引用,即“锁定”引用的行或列部分。通过在部分前面放置美元符号来实现。因此,要锁定对 A 列的引用,您需要将公式写为“=$A1+1”,而要将公式锁定到第一行,您需要写“=A$1+1”

相关内容