如下圖,在 Excel 的工作表裡,每一個項目都有一個數量,如何依數量將項目名稱重覆列出?
本例要巧妙利用 TEXTJOIN 函數和 TEXTSPLIT 函數,利用串接字串和分割字串,即可完成。
【設計與解析】
首先,選取儲存格A3:B9,按 Ctrl+Shift+F3 鍵,勾選「頂端列」,定義名稱:項目、數量。
儲存格D3:=TEXTSPLIT(TEXTJOIN("",TRUE,REPT(項目&",",數量)),,",")
(1) REPT(項目&",",數量)
首先將項目裡的每一個字串,先串接「,」,再利用 REPT 函數,將每一個項目依數量產生重覆的內容。例如:甲甲的數量是「4」,結果為「甲甲,甲甲,甲甲,甲甲,」。(注意到最後多了一個「,」)
(2) TEXTJOIN("",TRUE,REPT(項目&",",數量))
利用 TEXTJOIN 函數將第(1)式的傳回值串接在一起(連接符號是空白),結果為:
甲甲,甲甲,甲甲,甲甲,乙乙,乙乙,乙乙,乙乙,丙丙,丙丙,丙丙,丁丁,丁丁,丁丁,丁丁,戊戊,戊戊,戊戊,戊戊,戊戊,己己,己己,己己,己己,(注意到最後多了一個「,」)
(3) TEXTSPLIT(第(2)式,,",")
最後,再將第(2)式利用 TEXTSPLIT 函數以「,」加以分割字串。
這是動態陣列的概念,所以一個儲存格的公式,即可完成全部的結果。
【參考資料】
全站熱搜
留言列表