Excel 如果 a 列或 b 列包含指定值,则添加值的 SUMIFS

Excel SUMIFS which adds values if column a, or column b contains a specified value

我环顾四周,找不到解决办法,我什至不知道这是否可行。

我有两个工作表。我希望 Sheet1!G5 显示 Sheet2!D:D 中值的总和,其中 Sheet2!A:ASheet2!B:B 等于 Sheet1!D5

我知道它有点复杂,就像我说的,我什至不知道它是否可行,或者 SUMIFS 是否是要使用的正确公式。

请参阅下图了解电子表格中的虚拟数据。 基本上我希望有人能够搜索有多少台台式机或多少台 HP Elitedesk 800 G1(有更多不同型号的台式机、笔记本电脑和显示器等,但我只是在虚拟数据中没有它们......这就是为什么我希望能够搜索这两个字段。

如果我的逻辑是正确的,你应该能够摆脱两个单独的 SUMIF,一个用于 A 列,一个用于 B 列,加在一起:-

=SUMIF(Sheet2!A:A,D5,Sheet2!D:D)+SUMIF(Sheet2!B:B,D5,Sheet2!D:D)

看起来似乎不可能在任何行的 A 列和 B 列中具有相同的内容,但如果是这样,您可以进行更正以避免重复计算,如下所示:-

=SUMIF(Sheet2!A:A,D5,Sheet2!D:D)+SUMIF(Sheet2!B:B,D5,Sheet2!D:D)-SUMIFS(Sheet2!D:D,Sheet2!A:A,D5,Sheet2!B:B,D5)

第一个公式可以很容易地修改为适用于两个以上的条件列(例如,如果您还想匹配序列号),但第二个公式不能。

要根据多于两列获取总数,其中一个字符串可以在同一行中出现多次,您需要一个数组公式,如

=SUM(SIGN((Sheet2!A2:A10=D5)+(Sheet2!B2:B10=D5)+(Sheet2!C2:C10=D5))*Sheet2!D2:D10)

必须用CtrlShiftEnter

输入