我有一个 Calc 电子表格,如下:
| A | B | C | D | E
--------------------------------
1 | 0 | 4 | 5 | 0 |
2 | 5 | 6 | 9 | 8 |
3 | 4 | 9 | | |
4 | 9 | 3 | | |
我想在 E 中获取 B 中元素的总和,这些元素在 A 中对应的单元格具有 C 或 D 中包含的值。例如,E1 应该为 10(即 B1+B2),因为 A1 和 A2 值都存在于 C1 中:D1。同样,E2 应为 3(即 B4),因为只有 A4 在 C2:D2 中具有值。 我怎样才能获得这个?
将以下公式粘贴到E1中并向下填充到E4以产生
10
和3
。
=IF(C1<>"";SUMPRODUCT((A$1:A$4=C1)+(A$1:A$4=D1);B$1:B$4);"")
其工作原理是为每一行获取一个包含一个值的数组,该值是 true 或 false,具体取决于 A 中的每个值是否存在于该行的 C 或 D 中。如果为 false,则将该行中的所有内容乘以 0,从而有效地处理该行。如果为 true,则 B 中的值乘以 1。将所有非零结果相加。
最初我尝试使用
OR
,但是需要+
,因为OR
一次只能处理一行。
C1
检查避免尝试计算 C 为空的行。