简体   繁体   English

Excel公式,Sumifs,条件是数组范围

[英]Excel Formula, Sumifs, condition is an array range

Goal : Use SUMIFS to get the sum of value if color is Red or Yellow. 目标 :如果颜色为红色或黄色,则使用SUMIFS获取值的总和。 Outcome should be 3. 结果应为3。

+---+--------+-------+---+-----------+
|   |   A    |   B   | C |     D     |
+---+--------+-------+---+-----------+
| 1 | Key    | Value |   | Condition |
| 2 | Red    | 1     |   | Red       |
| 3 | Yellow | 2     |   | Yellow    |
| 4 | Green  | 3     |   |           |
+---+--------+-------+---+-----------+

Problem : 问题

  • It works if I hardcode the condition {"Red","Yellow"}. 如果我对条件{“ Red”,“ Yellow”}进行硬编码,则此方法有效。 The result is 3. 结果是3。

    =SUM(SUMIFS(B2:B4, A2:A4, {"Red","Yellow"}))

  • But if I reference the condition by cell D2:D3, I get 0. 但是,如果我通过单元格D2:D3引用条件,则会得到0。

    =SUM(SUMIFS(B2:B4, A2:A4, D2:D3))

Question: How do I reference the condition dynamically by cell and make it work? 问题:如何按单元动态引用条件并使其起作用?

Use SUMPRODUCT() instead of SUM(): 使用SUMPRODUCT()而不是SUM():

=SUMPRODUCT(SUMIFS(B2:B4,A2:A4,D2:D3))

在此处输入图片说明


One note: 一注:

This variation allows the expansion of the lists without the need to reapply the ranges: 此变体允许列表的扩展,而无需重新应用范围:

=SUMPRODUCT(SUMIFS(B:B,A:A,D2:INDEX(D:D,MATCH("zzz",D:D))))

在此处输入图片说明

Alternatively, you can use SUMIF() together: 另外,您可以一起使用SUMIF()

=SUMIF(A2:A4,"Red",B2:B4)+SUMIF(A2:A4,"Yellow",B2:B4)

Or make sure you're using CTRL+SHIFT+ENTER with your current formula attempt. 或确保您在尝试当前公式时使用CTRL + SHIFT + ENTER

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM