有網友問到:在 Excel 的工作表中有一個資料清單,如下圖的A欄和B欄。如何摘要結果如C欄和D欄?
小計欄位要計算資料清單前幾碼相同者的數值總和,其中,類別欄位(C欄)為標示A欄的前三碼在第一次出現時顯示,其餘以空白顯示,而小計欄位(D欄)則根據C欄的結果,將相同前三碼者之B欄數值予以加總。該如何處理?
【公式設計與解析】
儲存格C2:=IF(LEFT(A2,3)=LEFT(A3,3),"",LEFT(A2,3))
如果本列的前三碼和下一列的前三碼相同者,顯示空白,否則顯示前三碼。
儲存格D2:
=IF(C2<>"",SUMPRODUCT((LEFT($A$2:$A$22,3)=LEFT(A2,3))*$B$2:$B$22),"")
LEFT($A$2:$A$22,3)=LEFT(A2,3):在 SUMPRODUCT 函數中,判斷A欄每一個儲存格前三碼和儲存格A2相同者,傳回一個 TRUE/FALSE 陣列。
將上式置入 SUMPRODUCT 函數,並和B欄的數值執行乘積和。
如果C欄為空白儲存格者,D欄也給予顯示空白。
複製儲存格C2:D2,往下各列貼上。
【延伸練習】
如果改成以下的呈現方式,該如何處理?
以下為參考答案:
儲存格C2:=IF(LEFT(A2,3)=LEFT(A3,3),"",LEFT(A2,3))
儲存格D2:
=IF(C2<>"",SUMPRODUCT((LEFT($A$2:$A$22,3)=LEFT(A2,3))*$B$2:$B$22),"")
文章標籤
全站熱搜

謝謝老師的教學
請問老師,如果是不定長度的字串要如何擷取數字呢? 例如 : Dddf8.8X4.4(13) Ffcvbba12.6X3.44(66) Xxnnk6X7(22) 想擷取資料是 8.8X4.4 12.6X3.44 6X7 我覺得思維應該是用( 當作判定位置往前擷取數字出來,但是前面數字字串長度又不是很固定,好難思考??
你好,這類問題好像沒有特別快的方法,有點是土法煉鋼。 請參考:https://isvincent.pixnet.net/blog/post/49235368