Excel - sumifs 动态数组文字
Excel - sumifs dynamic array literal
=SUM(SUMIFS('Output'!$H:$H,'Output'!$C:$C,{"*PLoan","Deficit Loan"},'Output'!$G:$G,X97:AC97))
我有上面的数组公式。 X97:AC97
是我的数组文字所在的位置,此数组文字中的值以其他一些参数为条件(假设满足条件,则值为 a、b、c、d、e)。因为这些值是有条件的,所以它可能显示为“”“”“”e“”。因此在 sumifs 数组公式中,它将数组文字作为值 {"a","","","","e",""},这会导致错误。如何使数组为 {"a","e"}?
edit:经过大量努力,我意识到 sumifs 可能不是正确的方法,因为它需要对齐。例如,当 X97:AC97
= (0,1,0,0,0,0) 时,{PLoan, Deficit Loan} 可能满足 (1,0) 条件。我确实想要那个数字的总和,但由于不匹配,它不会求和。
我得到了下面的工作。如果有人能想出一种方法将通配符作为我的字符串搜索的一部分,请告诉我...
=SUMPRODUCT(IFERROR(ISNUMBER(MATCH('Output'!$G:$G,$X:$AC,0)*MATCH('Output'!$C:$C,{"PLoan","Operating Deficit Loan"},0))*('Output'!$H:$H),0))
COUNTIF(S)
/SUMIF(S)
不一定是 "require alignment" 的标准被通过。这完全取决于你想算什么。
如果您需要一个包含两组标准的所有组合的计数,那么包含这些标准的两个数组正交就足够了。
目前,您传递的两个条件数组都是相同的向量类型,即行向量,因为:
X97:AC97
显然是一个行(水平)向量,也是:
{"*PLoan","Deficit Loan"}
因为对于 Excel 的英语版本,逗号和分号分别代表行(水平)和列(垂直)数组常量中的分隔符。
因此,在您的情况下,您只需要转置这两个数组之一,即:
=SUM(SUMIFS(Output!$H:$H,Output!$C:$C,{"*PLoan";"Deficit Loan"},Output!$G:$G,X97:AC97))
(我们也可以转置另一个,即:
=SUM(SUMIFS(Output!$H:$H,Output!$C:$C,{"*PLoan","Deficit Loan"},Output!$G:$G,TRANSPOSE(X97:AC97)))
或者将 X97:AC97
中的条目移动到其他垂直范围。)
有关详细信息,请参阅 here。
此致
=SUM(SUMIFS('Output'!$H:$H,'Output'!$C:$C,{"*PLoan","Deficit Loan"},'Output'!$G:$G,X97:AC97))
我有上面的数组公式。 X97:AC97
是我的数组文字所在的位置,此数组文字中的值以其他一些参数为条件(假设满足条件,则值为 a、b、c、d、e)。因为这些值是有条件的,所以它可能显示为“”“”“”e“”。因此在 sumifs 数组公式中,它将数组文字作为值 {"a","","","","e",""},这会导致错误。如何使数组为 {"a","e"}?
edit:经过大量努力,我意识到 sumifs 可能不是正确的方法,因为它需要对齐。例如,当 X97:AC97
= (0,1,0,0,0,0) 时,{PLoan, Deficit Loan} 可能满足 (1,0) 条件。我确实想要那个数字的总和,但由于不匹配,它不会求和。
我得到了下面的工作。如果有人能想出一种方法将通配符作为我的字符串搜索的一部分,请告诉我...
=SUMPRODUCT(IFERROR(ISNUMBER(MATCH('Output'!$G:$G,$X:$AC,0)*MATCH('Output'!$C:$C,{"PLoan","Operating Deficit Loan"},0))*('Output'!$H:$H),0))
COUNTIF(S)
/SUMIF(S)
不一定是 "require alignment" 的标准被通过。这完全取决于你想算什么。
如果您需要一个包含两组标准的所有组合的计数,那么包含这些标准的两个数组正交就足够了。
目前,您传递的两个条件数组都是相同的向量类型,即行向量,因为:
X97:AC97
显然是一个行(水平)向量,也是:
{"*PLoan","Deficit Loan"}
因为对于 Excel 的英语版本,逗号和分号分别代表行(水平)和列(垂直)数组常量中的分隔符。
因此,在您的情况下,您只需要转置这两个数组之一,即:
=SUM(SUMIFS(Output!$H:$H,Output!$C:$C,{"*PLoan";"Deficit Loan"},Output!$G:$G,X97:AC97))
(我们也可以转置另一个,即:
=SUM(SUMIFS(Output!$H:$H,Output!$C:$C,{"*PLoan","Deficit Loan"},Output!$G:$G,TRANSPOSE(X97:AC97)))
或者将 X97:AC97
中的条目移动到其他垂直范围。)
有关详细信息,请参阅 here。
此致