【问题标题】:SUMPRODUCT with multiple criteria while ignoring blank inputSUMPRODUCT 具有多个条件,同时忽略空白输入
【发布时间】:2020-01-13 07:28:53
【问题描述】:

目前可以很好地检查帐户和国家/地区 ID 是否匹配,然后获取金额和总和。现在我有另一个帐户,我想在 B 列中将其留空,因为它包含所有国家/地区 ID。如何让 sumproduct 忽略条件是字段为空,还是接受所有内容正确?

请参阅下面 Justyna MK 在我的 previous question 中提出的解决方案。

我尝试过使用 NOT(ISBLANK( 或使用 IF(ISBLANK(B4),但我不知道如果它确实为空白它应该返回什么。

期望的结果: 例如,如果 B4 列为空而不是 8 作为值,我希望总和为 91。对于 B5 也是如此,它应该是 172 而不是 155。

【问题讨论】:

  • 任何链接到您的“上一个问题”?
  • 包含IF() 语句以检查单元格是否为空?
  • 我已经在帖子中添加了上一个问题的链接。我想尽可能避免使用 IF()
  • 那你自己尝试过什么来避免它?您能否包括:您尝试了什么、您当前的结果显示了什么以及您想要的结果是什么样的?
  • 您能否简化您的问题。什么是输入数据?什么是输出?输出怎么来的?实现起来似乎没有那么复杂。

标签: excel excel-formula calculation sumproduct nonblank


【解决方案1】:

我会尝试写一个非易失性公式,可能是这样的:

C2中的公式:

=SUM(IF(B2="",SUMIF(M$2:M$13,A2;O$2:O$13),IF(ISNUMBER(B2),SUMIFS(O$2:O$13,M$2:M$13,A2;N$2:N$13;B2),SUMIFS(O$2:O$13,M$2:M$13;A2,N$2:N$13,CHOOSE(MATCH(B2,{"EUROPE","BENELUX"},0),Europe,Benelux)))))

输入为CSE(顺便说一句,不需要SUMPRODUCT)。

我不知道你为什么还要尽量避免IF,因为它实际上可以让用户清楚了解正在发生的事情,并且避免不必要的繁重的计算。


编辑:在这种情况下,您将有第三个名为远程持有所有国家代码(目前与“欧洲”相同) ):

C2中的公式:

=SUM(IF(ISNUMBER(B2),SUMIFS(O$2:O$13,M$2:M$13,A2;N$2:N$13,B2),SUMIFS(O$2:O$13,M$2:M$13,A2,N$2:N$13,CHOOSE(MATCH(B2,{"EUROPE","BENELUX",0},0),Europe,Benelux,ALL))))

也输入为CSE

这将消除使用IF 和第一个SUMIF 检查空的需要。相反,它将空单元格(返回值0)与提供的列表匹配,并选择适当的命名范围。

【讨论】:

  • 也许我确实应该使用 IF。我只是一直认为它会减慢计算速度。但我可能错了。
  • 按照您认为正确的方式进行。我只是将其发布为我认为的好方法。 @Worempie。
猜你喜欢
  • 2020-02-13
  • 1970-01-01
  • 2021-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多