如果 B 不在值列表中,则对 A 的值求和的电子表格公式
Spreadsheet Formula to Sum Values Over A if B is not in a List of Values
我有一个 table 看起来如下:
| A | B | C |
| 40 | 1 | 1 |
| 180 | 2 | 2 |
| 34 | 1 |
| 2345 | 3 |
| 23 | 1 |
| 1 | 2 |
| 4354 | 3 |
| 2 | 2 |
| 343 | 4 |
| 2 | 2 |
| 45 | 1 |
| 23 | 1 |
| 4556 | 3 |
我想获取 A 中所有字段的总和,其中 B 既不是 1 也不是 2 或列 C 中的任何其他值。此列包含 B 的值,其中不应将 A 中的值视为总和。
我不知道 B 可能包含哪些值,这些值是随机的并且可能会变大,我只是想让示例变小。我目前的解决方案是
{=SUMIF(B1:B13,C1:C2,A1:A13)}
所以我可以设置应从 C 列的总和中排除的行。不幸的是,当前的解决方案并没有解决我的问题,而是解决了一些不同的问题——它按 C 中的值汇总了相应的条目。我的首选解决方案看起来像
=SUMIF(B1:B13,"<>{1, 2}",A1:A13)
=SUMIF(B1:B13,"<>"&C1:C2,A1:A13)
如果可能的话(不是)。我想要:
- 一个字段(例如,带有一个列表)或列,我可以在其中输入我不想成为 A 总和的一部分的 B 的值。
- 一种适用于 Open Office 以及 Excel 的方法。我更喜欢面向对象的解决方案。
您可以使用数组公式,以便将 A 中的每个值与一个条件相乘。该条件可以是任何有效的 Excel 公式,因此,例如,您可以使用 MATCH
来测试 B 值是否出现在 C:
中
=SUM((A1:A13)*ISNA(MATCH(B1:B13,$C:$C,0)))
ISNA
函数returnsTRUE
当匹配失败时,在乘法中用作数值1。FALSE
将使乘积为0。
确保使用 Ctrl+Shift+Enter 将其作为数组公式输入
我有一个 table 看起来如下:
| A | B | C |
| 40 | 1 | 1 |
| 180 | 2 | 2 |
| 34 | 1 |
| 2345 | 3 |
| 23 | 1 |
| 1 | 2 |
| 4354 | 3 |
| 2 | 2 |
| 343 | 4 |
| 2 | 2 |
| 45 | 1 |
| 23 | 1 |
| 4556 | 3 |
我想获取 A 中所有字段的总和,其中 B 既不是 1 也不是 2 或列 C 中的任何其他值。此列包含 B 的值,其中不应将 A 中的值视为总和。
我不知道 B 可能包含哪些值,这些值是随机的并且可能会变大,我只是想让示例变小。我目前的解决方案是
{=SUMIF(B1:B13,C1:C2,A1:A13)}
所以我可以设置应从 C 列的总和中排除的行。不幸的是,当前的解决方案并没有解决我的问题,而是解决了一些不同的问题——它按 C 中的值汇总了相应的条目。我的首选解决方案看起来像
=SUMIF(B1:B13,"<>{1, 2}",A1:A13)
=SUMIF(B1:B13,"<>"&C1:C2,A1:A13)
如果可能的话(不是)。我想要:
- 一个字段(例如,带有一个列表)或列,我可以在其中输入我不想成为 A 总和的一部分的 B 的值。
- 一种适用于 Open Office 以及 Excel 的方法。我更喜欢面向对象的解决方案。
您可以使用数组公式,以便将 A 中的每个值与一个条件相乘。该条件可以是任何有效的 Excel 公式,因此,例如,您可以使用 MATCH
来测试 B 值是否出现在 C:
=SUM((A1:A13)*ISNA(MATCH(B1:B13,$C:$C,0)))
ISNA
函数returnsTRUE
当匹配失败时,在乘法中用作数值1。FALSE
将使乘积为0。
确保使用 Ctrl+Shift+Enter 将其作为数组公式输入