求特殊细胞

时间:2017-02-28 22:45:37

标签: libreoffice-calc

我想要总结所有细胞: B5,B8,B11,B14 ......(但不是B2) D5,D8,D11,D14 ......(但不是D2) F5,F8,F11,F14 ......(但不是F2) ...

所以换句话说:每个单元格,其中列是偶数(A = 1,B = 2,...),行模3等于2,除了2。

所以我创建了函数:

= SUM(IF(AND(MOD(ROW(B5:Z200),3)= 2,ISEVEN(COLUMN(B5:Z200))),B5:Z200,0))

以及

= SUM(IF(AND(MOD(ROW(B5:Z200),3)= 2,MOD(COLUMN(B5:Z200),2)= 0),B5:Z200,0))

但两者都返回了我意想不到的结果 - 它的工作方式就是它忽略了列约束(行模3除了2之外等于2,但是来自每一列)。

当我将它们作为数组公式粘贴时(我不明白它是什么),那么在两种情况下结果都是0。

1 个答案:

答案 0 :(得分:1)

可以对单个列中的每第n行求和: https://wiki.openoffice.org/wiki/Documentation/How_Tos/Conditional_Counting_and_Summation#Tips_and_Tricks:_Summing_Every_nth_Row

然而,这对于B5:Z200这样的二维单元格引用不起作用,因为ROW只返回一列数组。同样,COLUMN仅返回一行数组。

解决方案是首先使用每列的公式对列进行求和,然后对这些结果求和。因此,将以下公式放在单元格B1中(或任何可用的行)。

=SUMPRODUCT(B5:B200, MOD(ROW(B5:B200), 3) = 2)

现在拖动以将此公式填充到单元格Z1。然后用这个公式加总所有这些。

=SUMPRODUCT(B1:Z1, MOD(COLUMN(B1:Z1), 2) = 0)

注意:SUMPRODUCT不需要作为数组公式输入。

修改

如果需要将其放入单个大型配方中,那么就可以完成。但是编写和维护起来会更困难。简单地总结每列的公式。在这种情况下,不需要采用列的mod;只需包含您需要的列。

下面是一个涵盖B到F列的公式。只需遵循此模式,直到公式包含Z列。

=SUM(SUMPRODUCT(B5:B200, MOD(ROW(B5:B200), 3) = 2), SUMPRODUCT(D5:D200, MOD(ROW(D5:D200), 3) = 2), SUMPRODUCT(F5:F200, MOD(ROW(F5:F200), 3) = 2))