如果在用户选择中找到 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"} 工作正常吗?