将字符串转换为Excel中公式中的可用数组

问题描述 投票:0回答: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))

更多说明:

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

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

类似地,将用户选择输入到公式中也可以,但是这样做对于用户来说太繁琐了。= SUMPRODUCT(SUMIF(A:A,{{“ Apple”;“ Pear”;“ Grapes”},B:B))

[[Edit]]示例Excel文件:https://drive.google.com/file/d/1LW3iPQYOJ_lGx0SiC2j0qhmr8Siv25sc/view?usp=sharing

arrays excel string substitution sumproduct
1个回答
0
投票

此矩阵公式似乎可以解决问题(通过按Control + Shift + Enter确认):

=SUM(IF(ISERROR(FIND(A1:A4,D1)),0,B1:B4))
© www.soinside.com 2019 - 2024. All rights reserved.