有没有办法让 SUMIF 与通配符中的数组条件相加仅一次,即使单元格具有数组的所有条件?

问题描述 投票:0回答:1

我想对包含特定文本的单元格求和。我用

SUMIF()
尝试了很多东西。现在我结合了
PRODUCT()
功能,我已经接近我想要的了。使用
PRODUCT()
SUMIF()
组合功能,将我想要的文本放入数组中并在它们上使用通配符,我可以得到我想要的内容,但如果单元格具有多个文本,则它不起作用数组,因为它求和多次。我想要的是只求和一次,即使单元格具有多个数组文本

我有两列,一列是产品名称,另一列是产品的价值。我想查看特定项目的总和,所以我使用了这个公式:

=SUMPRODUCT(SUMIF(A92:A99,{"*apple*" ,"*orange*", "*banana*"},B92:B99))

当细胞只有一个标准时,结果就是我所期望的:

但是当我将所有条件都放在同一个单元格中时,在这个例子中它的总和为 3 倍:

本示例中的预期结果为 4。如果任何一个条件为真,我想对单元格求和,但即使有多个条件为真,我也希望它只求和一次。
我可以在公式中做什么才能使它像这样工作?

arrays excel google-sheets wildcard sumifs
1个回答
0
投票

一种方法是创建一个二维数组,然后按行求和并检查是否大于 1,然后乘以该值:

=SUM((BYROW(--ISNUMBER(SEARCH({"apple","Orange","Banana"},A2:A5)),SUM)>0)*B2:B5)

© www.soinside.com 2019 - 2024. All rights reserved.