
發問問題
在 Excel 的工作表裡,如果要將一個儲存格中的每一個字元都插入一個空格,該如何處理?
在實務工作中,經常會遇到需要對字串進行格式化處理的情境,其中一個相當常見的需求,就是在字串中每一個字元之間加入特定的字元或符號。這類需求可能出現在多種場景中,例如資料顯示、美化輸出格式、符合特定系統或通訊協定的規範,甚至是為了提升可讀性或後續處理的便利性。
因此,如何有效且彈性地在字串中的每個字元之間插入指定的字元或符號,不僅是一個基礎但重要的字串處理技巧,也是在日常實務開發中相當實用的一項能力。例如,在下圖中的儲存格中有可能含數字、英文字、中文字等內容,現在想要將每個字之間都加入一個空格或符號(例如「,」)。
設計公式
儲存格B4:=TEXTJOIN(" ",,MID(A4,ROW(INDIRECT("1:"&LEN(A4))),1))
(1) INDIRECT("1:"&LEN(A4))
儲存格A4的原始內容為「123456」,先以 LEN(A4) 計算儲存格內容的長度(字元數)。本例結果:6。
再利用 INDIRECT 函數將字串轉換為位址型態。本例結果:1:6。
(2) ROW(INDIRECT("1:"&LEN(A4))
將第(1)式的傳回值代入 ROW 函數,結果:ROW(1:6)。
(3) MID(A4,ROW(INDIRECT("1:"&LEN(A4))),1)
利用 MID 函數將儲存格A4內容依序取出第 1 個字至第 6 個字。結果:1、2、3、4、5、6。
(4) TEXTJOIN(" ",,MID(A4,ROW(INDIRECT("1:"&LEN(A4))),1))
最後透過 TEXTJOIN 函數依序將「1、2、3、4、5、6」和「一個空格」串接。結果:1 2 3 4 5 6。
相同原理,也可以在每個字元中間插入「,」。結果:1,2,3,4,5,6。
函數說明

















