2016-11-18 194 views
0

我試圖用Excel來計算每月使用物料清單(BOM)的多少組件數量。Sumproduct Excel一個條件兩列乘以並添加

所以我有幾列組件,但組件可以出現在幾列中。這些列的偏移量是BOM中該組件的數量,另一列是銷售數量。 SUMPRODUCT是否使用正確的公式?

我曾嘗試:

=sum(sumproduct((B2:B10="Component1")*(L2:L10)*(AH2:AH10)), sumproduct((C2:C10="Component1")*(M2:M10)*(AH2:AH10))) 

柱B和C包含的分量碼,L和M每BOM和AH銷售數量的部件數量。

我在做什麼錯了?這會工作嗎?這返回的數量是不正確的。

謝謝,

回答

0

在SUMPRODUCT中,應根據您的區域設置使用逗號或分號來分隔相乘的數組而不是使用乘法運算符(*)。

=SUM(SUMPRODUCT(--($B$2:$B$10="Component1"),$M$2:$M$10,$AH$2:$AH$10),SUMPRODUCT(--($B$2:$B$10="Component1"),$L$2:$L$10,$AH$2:$AH$10)) 

由於($ B $ 2:$ B $ 10 = 「的Component1」)的計算結果爲TRUE & FALSE的陣列,可以使用 - 來轉換爲1或0也可以通過1相乘。

=SUM(SUMPRODUCT(1*($B$2:$B$10="Component1"),$M$2:$M$10,$AH$2:$AH$10),SUMPRODUCT(1*($B$2:$B$10="Component1"),$L$2:$L$10,$AH$2:$AH$10)) 
0

,好像他們是零不在數字SUMPRODUCT對待陣列條目。每個sumproducts中的第一個參數將評估爲TRUE或FALSE,但它們不是嚴格的數字。你可以強迫他們到號碼 - TRUE = 1,FALSE = 0通過:

  • 乘以雙重否定
  • 乘以1或
  • 添加0

因此改變你的公式:

=SUM(SUMPRODUCT(--(B2:B10="Component1")*(L2:L10)*(AH2:AH10)), 
SUMPRODUCT(--(C2:C10="Component1")*(M2:M10)*(AH2:AH10))) 
+0

的'如果沒有其他的數學正在與布爾表達式完成,--'只​​需要就在''另外兩個足以把布爾inot其位元件。 '--'不是必需的。 –