-1

如果在用户选择中找到 Col A 中的相应产品,则目标是输出 Col B 中所有价格的总和。用户选择可以包括一个或多个产品,以逗号分隔。

我尝试了 2 个公式,但它们都不起作用,因为 SUMIF 中的标准不被视为数组。

=SUMPRODUCT(SUMIF(A:A, "{"""&SUBSTITUTE(D2,", ",""";""")&"""}" ,B:B))

=SUMPRODUCT(SUMIF(A:A, CHAR(34)&SUBSTITUTE(D2,", ",CHAR(34)&","&CHAR(34))&CHAR(34) ,B:B))

进一步说明:

只有一个单元格 (D2) 供用户选择,他们可以在其中指定要查询的产品,用逗号分隔。

使用拆分单元格,下面的公式会起作用,但这不是我想要的,因为我需要用户在一个单元格 (D2) 中键入他们的选择。=SUMPRODUCT(SUMIF(A:A, D6:D16 ,B:B))

同样,将用户选择输入到公式中也可以,但这样做对用户来说太乏味了。=SUMPRODUCT(SUMIF(A:A, {"苹果";"梨";"葡萄"} ,B:B))

[编辑] 示例 Excel 文件:

在此处输入图像描述

[编辑 2]:任何线索为什么 "{"""&SUBSTITUTE(D2,", ",""";""")&"""}" 不能通过公式作为数组传递而 {"Apple";" Pear";"Grapes"} 工作正常吗?

4

1 回答 1

0

这个矩阵公式似乎可以解决问题(通过按 control+shift+enter 确认):

=SUM(IF(ISERROR(FIND(A1:A4,D1)),0,B1:B4))
于 2020-02-11T15:51:58.060 回答