excel - SUMPRODUCT 具有多个条件,同时忽略空白输入
问题描述
目前可以很好地检查帐户和国家/地区 ID 是否匹配,然后获取金额和总和。现在我有另一个帐户,我想在 B 列中将其留空,因为它包含所有国家/地区 ID。如何让 sumproduct 忽略条件是该字段为空,还是接受所有内容正确?
请参阅下面Justyna MK在我之前的问题中提出的解决方案。
我尝试使用 NOT(ISBLANK( 或使用 IF(ISBLANK(B4),但我不知道如果它确实为空白它应该返回什么。
期望的结果: 如果例如列 B4 为空而不是 8 作为值,我希望总和为 91。对于 B5 也是如此,它应该是 172 而不是 155。
解决方案
我会尝试编写一个非易失性公式,可能像这样:
中的公式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
,因为它实际上可以让用户清楚地了解正在发生的事情,并且避免了不必要的繁重计算。
编辑:特此还有一个场景,您将拥有第三个名为 ranged 的持有所有国家/地区代码(目前与“EUROPE”相同):
中的公式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
。
这将消除第一次检查空 withIF
和第一个SUMIF
. 相反,它将空单元格(返回 value 0
)与提供的列表匹配,并选择适当的命名范围。
推荐阅读
- python - 使用 Python 在 gRPC 中分块
- browserstack - 我的框架没有连接到 Browserstack
- sql - 为具有最低日期的唯一行更正 SQL 语句
- php - 如何检查数组的数字是否连续并打印缺失的数字以使其连续?PHP
- css - 如何使用 css mix-blend-mode 在 svg 图像上方制作黑色但白色的文本
- dart - Dart 正则表达式匹配
- node.js - 为什么 Node 在 Windows 上运行比在 Macos 上慢?
- python - 从 Microsoft Academic Graph API 获取信息
- javascript - 如何从 javascript 的 for 循环中调用函数?
- php - 显示 .txt 文件中的随机文本,但每个 IP 地址仅显示一次