2017-04-25 58 views
1

根據在另一張紙上檢查的條件,是否可以對列中的所有值進行求和?Excel中,如果行值與另一張紙上的查找值相匹配,則爲總和

我有兩張紙,一張帶有值,一張帶有製造商。我想檢查製造商在另一張紙上是否有除「是」以外的任何值,然後如果不等於「是」,則總和。最終的結果是所有制造商在第二張上沒有「是」值。

在下面的例子中,我試圖總結一切,除Manuf B外,總共爲1,132美元。

enter image description here

到目前爲止我正在式(非功能性的)是:

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

回答

1

我認爲這是有點吸塵器...

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

它仍然是一個數組公式,所以你必須打按Ctrl + Shift + Enter,而不是僅僅輸入當您添加公式

+0

這個工作,但我不知道我明白爲什麼sumif()周圍sum()是必需的。 – DaveK

+0

因爲'Sumif'實際上會爲每個條件返回一個值,所以需要'Sum'來獲得單個值。有關更多信息,請參閱[帶有多個條件和OR邏輯的SUMIFS](https://exceljet.net/formula/sumifs-with-multiple-criteria-and-or-logic) – Profex

0

與CSE的陣列式,

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

enter image description here

。 ..或(可能)更傳統的陣列公式(與CSE ),

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

enter image description here

略縮寫後者陣列式的版本,

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

enter image description here

+0

所以,CSE代表鍵Crtl + Shift + Enter鍵? – Profex

相關問題