带嵌套if函数的Sumif数组公式仅返回数组中第一个值的总计

时间:2019-07-07 09:40:00

标签: excel excel-formula

我将sumif公式包裹在sum公式中,因此我可以使用一个数组,如果单元格G2中的值等于“ All”,那么我要为数据中的三个名称加起来在B2:B4范围内的值,但是如果值单元格G2等于三个名称之一,即:Tim,那么我只想将Tim的范围B2:B4中的所有值加起来。如果仅使用一个名称,则该公式可以正常工作,但是当我在单元格G2中输入“全部”时,只会添加名字的值。我正在使用以下公式:

=SUM(SUMIF(A2:A4,IF(G2="All",{"Tim","Henry","Mike"},G2),B2:B4))

在此先感谢您提供任何有关如何使它工作的想法。

2 个答案:

答案 0 :(得分:0)

只要这三个值是列表中唯一出现的值,就可以将其放在IF语句中,如下所示:

=IF(G2="All",SUM(B2:B4),SUMIF(A2:A4,G2,B2:B4))

enter image description here

如果您在查询列中还有其他名称,例如:

enter image description here

您自己的公式可以很好地用作数组公式。您只需通过 Ctrl + Shift + Enter

输入

您可以使用以下公式:

=IF(G2="All",SUMPRODUCT(SUMIF(A2:A5,{"Tim","Henry","Mike"},B2:B5)),SUMIF(A2:A5,G2,B2:B5))

为防止您必须将其作为数组输入(从技术上讲,它仍然是数组公式!)

答案 1 :(得分:0)

无需对数组或数组公式进行硬编码:

=SUMIF(A:A,IF(G2="All","*",G2),B:B)