[英]Excel: Sum a range of cells if a related key is in a range of values using a formula
如果關聯值在用作過濾條件的值范圍內,我試圖返回一系列單元格的總和。 例如,使用以下數據表:
Keys Values
A 500
B 300
C 600
D 20
A 150
C 600
以及以下要匯總的鍵列表:
Sum Keys:
A
D
我正在尋找一種公式化的方式來返回500 + 20 + 150 = 670。
我知道你可以使用多個SUMIF,但是鍵的數量會根據用戶想要過濾的內容而改變,並且編寫足夠的SUMIF來覆蓋最大的實際情況(如10ish)似乎過多,我覺得必須有一個更簡單的方法。
在我看來,公式看起來像這樣:
=SUMIFS(Values, Keys, OR(Sum Keys), ...(optional other conditions))
我意識到這是一個簡單的VBA問題,但我試圖避免這種情況,因為電子表格將由具有不同(或沒有)VBA知識的人員進行審核。 此外,向數據添加一個指示符列以顯示該鍵是否在Sum Keys
范圍內是不現實的,因為將有多個標簽匯總數據,每個標簽都有自己的Key
過濾器
感謝任何幫助,盡管我意識到沒有VBA可能無法實現。 如果需要更多信息,請告訴我。
謝謝!
編輯:謝謝巴里houdini的答案! 根據可接受標准的多個范圍,查看他的帖子中關於求和的一般解決方案的評論。
您可以使用這樣的公式
=SUMPRODUCT(SUMIFS(Values,Key,Sum_Keys))
如果Sum_Keys有4個值,則SUMIFS公式返回一個4值“數組”(Sum_Keys中每個鍵一個),因此您需要另一個函數來對該數組求和。 我使用SUMPRODUCT是因為它避免了“數組輸入”的需要。
您可以按常規方式添加更多條件,例如
=SUMPRODUCT(SUMIFS(Values,Key,Sum_Keys,Dates,Specifc_date))
如果要根據過濾條件對項目求和,請考慮使用
= SUBTOTAL()
工作表功能。 它是處理此任務的工具。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.