簡體   English   中英

Excel:使用關鍵字進行索引匹配,然后使用SUM結果(無VBA)

[英]Excel: Index-Match using keywords and then SUM results (no VBA)

我有一張帶有交易清單的表。 它包括交易說明和交易總成本。 我正在尋找一種不使用Visual Basic的方式,使用在單元格中輸入的逗號分隔關鍵字來搜索所有匹配的事務,然后給出它們的總價值。

例如: 在此處輸入圖片說明

B4:B6是用於查找的關鍵字。 C4應該在范圍B10:B26中查找包含B1中的任何關鍵字的所有單元格(tesco或co-op或waitrose),並返回范圍C10:C26中相應值的總和。 在這種情況下,其總和應為C11,C16,C21,C23,C25。

重要的是要注意它不應該區分大小寫。

能做到嗎

您可以使用數組函數執行此操作。 這些功能的操作類似於“ Sumifs” /“ Countifs” /“ Sumproduct”:它們執行通常設計為在整個單元格范圍內查看特定單元格的功能。

首先,讓我們處理“ giffgaff” /“ paypal”的總和:

在單元格C5中,使用以下公式[因為它是一個數組公式,所以每次編輯單元格時都必須通過按CTRL + SHIFT + ENTER進行確認,而不僅僅是ENTER],然后向下拖動到C6。

=sum(if(iserror(search(B5,$B$10:$B$26)),"",$C$10:$C26))

這會查看B10:B26中的每一行(請注意,無法選擇整列,因為數組公式會為所有單元格(甚至是空白單元格)進行計算-這樣會大大降低性能。您必須像這樣專門確定要關注的行),並且如果在B4中搜索術語時出現錯誤,則表示該術語未出現在該特定行上。 如果沒有錯誤,它將從C列中提取金額。然后將所有這些行加在一起得出一個總計。

現在要對單元格C4執行相同的操作,您需要添加首先將逗號之間出現的每個術語分開的復雜度。 我同意@Tom Sharpe,您可能應該在不同的單元格中執行此操作,以使其更清楚自己在做什么。 這可以通過以下方式完成:分別提取逗號之間的術語,然后具有總計(使用上面的數組公式)。

為了最有效地做到這一點,我將在C列中使用一個幫助器列,該列將確定B列中的文本中有多少個逗號,就像在C4中一樣:

=len(B4)-len(substitute(B4,",",""))

這將花費B4的長度,減去所有逗號已被空格替換的B4的長度-給出逗號的數量。

然后,可以使用MID和SUBSTITUTE函數將該公式用於在逗號之間分隔單詞。 讓我知道您是否需要詳細說明。 分解單個單詞后,可以使用上述Array函數進行搜索。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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