假设您有一个记录列表:
+-----+-----+-----+
| | A | B |
+-----+-----+-----+
| 1 | 100 | x |
+-----+-----+-----+
| 2 | 50 | x |
+-----+-----+-----+
| 3 | 30 | y |
+-----+-----+-----+
| 4 | 180 | z |
+-----+-----+-----+
| 5 | 140 | k |
+-----+-----+-----+
您希望获得所有这些值的总和,并按列中的值分组B
。但是您已经有一个预定义的值列表,您希望对其求和:
+-----+-------+-----+
| | C | D |
+-----+-------+-----+
| 1 | x | 150 | < =SUMIF(B1:B;C1;A1:A)
+-----+-------+-----+
| 2 | y | 30 | < =SUMIF(B1:B;C2;A1:A)
+-----+-------+-----+
| 3 | other | 320 | < =???
+-----+-------+-----+
获得和的总和x
很y
容易:您可以使用SUMIF(B1:B;C1;A1:A)
列D
来获得和的总和x
。
x
但是,如何获取所有既不是也不是y
(在本例中是z
和)的记录的总和,k
并将其打印在D3
单元格中?
答案1
Máté Juhász 在评论中给出的解决方案是一个很好的方法。但NOT AND
在这种情况下使用标准的另一种方法(可能适用于其他问题)是使用SUMPRODUCT
或SUMIFS
例如:
=SUMPRODUCT((B:B<>C1)*(B:B<>C2)*A:A)
=SUMIFS(A:A,B:B,"<>"&C1,B:B,"<>"&C2)