Excel中,如果一行值与另一张表上的查找值相匹配,则求和

是否有可能根据在另一个工作表上检查的条件来对列中的所有值进行求和?

我有两张纸,一张是价值观,一张是制造商。 我想检查制造商在另一张纸上是否有除“是”以外的任何值,然后如果不等于“是”,则和。 最终的结果是,所有制造商在第2页上没有“是”的值。

在下面的例子中,我试图总结一切,除了Manuf B,总共1132美元。

在这里输入图像说明

到目前为止,我正在研究的公式(非function性)是:

=sumif(vlookup(C5:C12,'SHEET 2'!E5:F8,2,false),not("YES"),B5:B12) 

我认为这是一个更清洁的…

 =SUM(SUMIF(C5:C12,IF(Sheet2!F5:F8<>"YES",Sheet2!E5:E8,FALSE),B5:B12)) 

这仍然是一个数组公式,所以你必须在添加公式时按Ctrl + Shift + Enter而不是Enter

作为CSE的一个数组公式,

 =SUMPRODUCT(B5:B12,--ISNUMBER(SEARCH(C5:C12, TEXTJOIN(",",TRUE,IF(F5:F8<>"yes",E5:E8))))) 

在这里输入图像说明

…或(可能)更传统的arrays公式(与CSE),

 =SUM(SUMIFS(B5:B12, C5:C12, TRANSPOSE(INDEX(E5:E8&IF(F5:F8="yes", CHAR(215), TEXT(,)), , )))) 

在这里输入图像说明

后面的数组公式略有缩写,

 =SUM(SUMIFS(B5:B12,C5:C12,INDEX(IF(F5:F8="yes",CHAR(215),E5:E8),,))) 

在这里输入图像说明