如下圖,在 Excel 的工作表裡,每一個項目都有一個數量,如何依數量將項目名稱重覆列出?

本例要巧妙利用 TEXTJOIN 函數和 TEXTSPLIT 函數,利用串接字串和分割字串,即可完成。

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 函數以「,」加以分割字串。

這是動態陣列的概念,所以一個儲存格的公式,即可完成全部的結果。

 

【參考資料】

學不完.教不停.用不盡文章列表

arrow
arrow
    全站熱搜

    vincent 發表在 痞客邦 留言(0) 人氣()