根據關鍵字條件求和,SUMPRODUCT函數思路清晰!
Excel情報局
職場聯盟Excel
生産挖掘分享Excel基礎技能Excel愛好者大本營用1%的Excel基礎搞定99%的職場問題做一個超級實用的Excel公衆号Excel是門手藝玩轉需要勇氣數萬Excel愛好者聚集地SUPER EXCEL MAN
職場實例
小夥伴們大家好,今天我們來講解一個關于根據關鍵字進行條件求和的職場真實案例,這是公衆号粉絲後台留言咨詢的一個問題,下面我們來通過幾組簡單的數據還原一下真實的辦公情景。
如下圖所示:
A列為一列地域名稱數據,B列為對應的銷量數據。我們想要在D2單元格彙總出左邊數據源中A列地域名稱包含“石家莊”對應B列的銷量總和。
解題思路
解決這個問題我們主要是利用函數的原理,我們都知道,單純的使用函數,其參數中并不支持使用通配符,但是我們可以搭配另外兩個常用的函數實現這種根據關鍵字的求和效果。函數在給定的幾組數組中,把數組間對應的元素相乘,最後返回乘積之和。
常規函數公式:
=(數組1,數組2,數組3, ……)
數組裡面的相應元素進行相乘後,再将乘積求和。
常規運算過程如下演示:
=({1;2;3},{4;5;6})
=1*4+2*5+3*6
=32
下面我們就來看一下具體操作方法。
首先我們在D2單元格輸入函數公式:=FIND("石家莊",A2:A5)使用FIND函數在A2:A5數據區域中查找關鍵字“石家莊”,如果包含關鍵字“石家莊”,就返回此關鍵字“石家莊”在區域A2:A5中出現的位置數據,否則就返回錯誤值。
我們選中公式按下F9鍵查看數組返回結果:={1;#VALUE!;3;#VALUE!}
即關鍵字“石家莊”在區域A2:A5中出現的位置分别是第1個單元格和第3個單元格,其餘數組元素用錯誤值#VALUE!表示。
我們繼續完善D2單元格的公式為:
=(FIND("石家莊",A2:A5))
使用函數判斷FIND函數的數組結果{1;#VALUE!;3;#VALUE!}是否為數值。如果是數值,說明是包含關鍵字"石家莊"的,用邏輯值TRUE表示;如果不是數值,那就是不包含關鍵字"石家莊"的,用邏輯值FALSE表示。
即上一步中的内存數組轉換為了:={TRUE;FALSE;TRUE;FALSE}
我們用上一步函數返回的結果與函數的第二參數B2:B5相乘:
=((FIND("石家莊",A2:A5))*B2:B5)
函數運算原理:
=({TRUE;FALSE;TRUE;FALSE}*{500;850;650;200})由于邏輯值TRUE和FALSE分别可以用1和0代替:=({1;0;1;0}*{500;850;650;200})函數返回乘積之和:=1*500+0*850+1*650+0*200=1150
回顧關鍵内容,善用圖片表達,學會建立聯系,拓展深度廣度,濃縮關鍵概念,應用到行動中,善于歸納總結,嘗試進行分享。
我來說兩句