簡體   English   中英

Excel:如果相關鍵在使用公式的值范圍內,則對單元格區域求和

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM