🐟 請您尊重本網站的智慧財產權,如有任何引用,請註明出處:Dr. Fish 漫游社會統計。(文章發表日期)。文章名稱。文章網址
如何使用 Excel 結合不同儲存格的文字
微軟 Excel 的工作表是由棋格狀的儲存格所組成,不論是在哪一領域,都很常被拿來當作資料整理的工具。在資料整理的過程中,出於資料清楚呈現、分析便利性或其他因素,有時會想結合不同儲存格的內容至一個儲存格裡,而此點只要透過幾個簡單步驟即可達成。
在工作表裡將不同儲存格的內容結合至一個儲存格裡的方法有三種,最簡單的一種是透過 & 符號,另外兩種則是利用 CONCAT 函數或 TEXTJOIN 函數。下面將針對這三種方法,逐一介紹操作方式並舉例說明。
利用 & 符號結合文字
第1種結合不同儲存格的文字至一個儲存格的方法是利用運算符號 &,而這也是最簡單快速的方法。舉例來說,若想結合下圖的城市和區至同一個儲存格,可以在下圖的儲存格E2裡輸入下面的公式:
=B2&C2
因為儲存格B2和C2分別為「台北市」和「士林區」的儲存格參照(cell reference),所以這公式要求結合「台北市」和「士林區」至同一個儲存格。公式輸入完成後,按下 Enter 後會傳回「台北市士林區」。

假設除了城市和區之外,再多一個郵遞區號的資料,若想依照郵遞區號、城市、區的順序將位於不同儲存格的資料結合至一個儲存格裡,可以在下圖的儲存格F2裡輸入下面的公式:
=D2&B2&C2
這公式要求結合儲存格D2的「111」、儲存格B2的「台北市」和儲存格C2的「士林區」至同一個儲存格裡,公式輸入完成後,按下 Enter 會傳回「111台北市士林區」。

不過利用 & 符號結合不同儲存格的資料時,資料和資料之間不會有任何的空格,如果想要有一個空格存在,則需在兩個資料間插入「&“ ”&」,雙引號間為一格的空白。因此,若想讓上面例子的郵遞區號和城市間存在一個空格,可以在下圖的儲存格F3裡輸入下面的公式:
=D2&“ ”&B2&C2
這公式要求結合儲存格D2的「111」、儲存格B2的「台北市」和儲存格C2的「士林區」,並且在「111」和「台北市」之間留一個空格。這公式會傳回「111 台北市士林區」的結果,從下圖右可以看到沒有空格和有空格公式的輸出結果之明顯差異。

如果有超過一組的資料,可以利用填滿控點(fill handle)或複製貼上的方式來取得其他組的合併結果。假設已經利用上面的公式結合了第1組的資料,且想要取得剩下9組的文字合併結果,此時可以將滑鼠游標停留在第1組資料輸出結果儲存格的右下角小正方形上,待滑鼠游標變成小十字後,按住滑鼠左鍵(若您滑鼠主要按鍵的設定為右鍵,則按住右鍵)並往下拉至儲存格F11,即可獲得所有的文字合併結果。
若不使用填滿控點的方式,也可以複製第1組資料的公式(下圖儲存格F2的公式),再貼上至儲存格F3至F11,也能夠得到相同的輸出結果,您可以依據個人的喜好或習慣來選擇操作方法喔!

當獲得所有資料的合併結果之後,若想依據郵遞區號進行合併資料的排序,可以利用 SORT 函數來傳回所需的結果。在合併資料旁邊的儲存格(下圖的I2)輸入下面的任一語法:
① =SORT(F2:F11, 1, 1, FALSE)
② =SORT(F2:F11)
這語法要求從小至大且按列的方式排序合併後的資料,由於合併資料的開頭為郵遞區號,所以資料會依照郵遞區號碼從小到大進行排列,下圖右即為排序後的資料。因為語法①的後面3個引數皆為預設值,所以可以省略變成語法②,不論哪一個語法都可得到相同的結果。若您想瞭解在工作表裡排序資料的方法,可以參考如何使用 Excel 排序和篩選資料。

運用 & 符號來結合不同儲存格的內容至一個儲存格是最簡單快速的方法,但若您是函數的慣用者或愛好者,也能夠使用函數來結合不同儲存格的資料至一個儲存格裡,下面介紹這些函數和操作方法。
利用 CONCAT 函數結合文字
第2種結合不同儲存格的文字至一個儲存格的方式為 CONCAT 或 CONCATENATE 函數,自 Excel 2016 版本開始,前面的函數已經取代後面的函數,雖然後面的函數仍舊可以使用,但將來可能會被淘汰,所以建議使用 CONCAT 函數。
和 & 符號一樣,CONCAT 函數同樣用來結合不同儲存格的內容至一個儲存格裡,不過須撰寫語法。這函數的語法如下:
=CONCAT(text1, [text2], …)
函數語法括號裡的引數為想要結合的文字,可以是文字本身、文字串的儲存格參照或文字串陣列。利用和上面相同的例子,假設要結合城市和區至同一個儲存格裡,可以在下圖的儲存格E2裡輸入下面的任一語法:
① =CONCAT(B2, C2)
② =CONCAT(B2:C2)
由於儲存格B2和C2分別是「台北市」和「士林區」的儲存格參照,所以語法①要求結合「台北市」和「士林區」。此外,因為想結合內容的儲存格剛好緊鄰彼此,所以可使用語法②裡 B2:C2 的引數,代表儲存格B2到儲存格C2,不過若想結合的儲存格沒有緊鄰彼此或順序不同,則無法使用這樣的寫法。在這個例子裡,不論是語法①或語法②,都可以得到「台北市士林區」的結果。

若再增加一欄郵遞區號的資料,並且以郵遞區號、城市、區的順序呈現合併後的內容,可以在下圖的儲存格F2裡輸入下面的語法:
=CONCAT(D2, B2, C2)
這語法指出除了原本的「台北市」和「士林區」外,再加上一個儲存格參照為D2的「111」郵遞區號。整個語法要求結合「111」、「台北市」和「士林區」至同一個儲存格裡,下圖右即為這語法傳回的結果。

如果想在郵遞區號和城市之間增加一個空格,可以在兩者之間加入一個「“ ”」的引數,雙引號之間為一個空格。為了和上面沒有空格的情況比較,在下圖的儲存格F3裡輸入下面的語法:
=CONCAT(D2, “ ”, B2, C2)
從這個語法可以看到,在儲存格D2的「111」和儲存格B2的「台北市」中間加入「“ ”」,即可得到「111 台北市士林區」的結果,下圖右能夠清楚看到有無空格的輸出結果。

如果有超過一組的資料要進行資料結合,可以利用填滿控點或複製貼上的方式來取得其他組資料的合併結果,詳細的操作方法可以參考上面利用 & 符號結合文字的說明。
利用 TEXTJOIN 函數結合文字
第3種結合不同儲存格的文字至同一儲存格的方法為 TEXTJOIN 函數,這函數是 Excel 2019 和之後的版本才有的功能,可以在函數語法裡指出分隔符號的樣式和選擇是否忽略空白的儲存格,是個比 CONCAT 更強大的函數。這個函數的語法如下:
=TEXTJOIN(delimiter, ignore_empty, text1, [text2], …)
函數語法的括號裡為引數,中括號裡的引數為選擇性的引數,這語法裡各個引數的意義如下:
- delimiter:分隔符號,須使用雙引號包住。
- ignore_empty:為邏輯值,TRUE 指忽略空白儲存格,FALSE 指不要忽略空白儲存格。
- text1:要結合的文字,可以是一個文字串、儲存格參照或文字串陣列。
- text2:其他要結合的文字。
舉例來說,若要將下圖裡城市、區和路結合至同一儲存格裡,且不需要任何的分隔符號,可以在下圖的儲存格F2裡輸入下面的任一語法:
① =TEXTJOIN(“”, TRUE, B2, C2, D2)
② =TEXTJOIN(“”, TRUE, B2:D2)
儲存格B2、C2、D2分別為「台北市」、「士林區」和「士商路」的儲存格參照,引數「“”」指沒有分隔符號而 TRUE 指忽略空白儲存格。因為要結合的文字串緊鄰彼此,所以可使用語法②裡 B2:D2 的引數,代表儲存格B2到儲存格D2,但若要結合的文字串沒有緊鄰彼此,則只能像語法①逐一列出文字串的儲存格參照。

如果要用逗號區隔文字串,可以將第1個引數改成「“,”」,也就是用雙引號包住逗號,半形或全形的逗號都可以。上面的例子裡,若想用逗號分隔城市、區和路,可在下圖的儲存格F2裡輸入下面的任一語法:
① =TEXTJOIN(“,”, TRUE, B2, C2, D2)
② =TEXTJOIN(“,”, TRUE, B2:D2)
除了第1個引數之外,其餘的引數都和上面相同。這語法要求結合「台北市」、「士林區」和「士商路」,並用逗號加以區隔,傳回的結果如下圖右。

如果要結合的不同儲存格裡有空白的儲存格,也就是沒有資料的情況,可以利用第2個引數選擇是否忽略空白的儲存格。以下圖為例,若區的資料不存在,當結合城市、區和路的內容至同一儲存格且用逗號為分隔符號的時候,若選擇忽略空白儲存格(第2個引數為 TRUE),城市和路之間只有一個逗號;若選擇不忽略空白儲存格(第2個引數為 FALSE),城市和路之間則會出現2個逗號。

進一步來看,若想使用不同的分隔符號來區隔文字串,可用大括號包住不同的分隔符號作為第1個引數,各個分隔符號仍須放在雙引號裡且用逗號分開。以下圖的例子來說,如果要結合郵遞區號、城市和區至同一個儲存格裡,且郵遞區號和城市之間有一空格,但城市和區之間沒有空格,可以在下圖的儲存格F2裡輸入下面的語法:
=TEXTJOIN({“ ”, “”}, TRUE, D2, B2, C2)
這個語法的第1個引數「{“ ”, “”}」指出這3個文字串須用2種不同的分隔符號分開,第1個分隔符號為一個空格,第2個分隔符號為空白。下圖右為這語法傳回的結果,可以明顯看到郵遞區號和城市間有一個空格。

從上面的說明可以發現,若結合的文字串之間要有相同的分隔符號或文字串間有資料不存在的情況時,TEXTJOIN 函數會是個比 CONCAT 函數或 & 符號更好的選擇。若不需要分隔符號或要使用不同的分隔符號,CONCAT 函數或 & 符號會是較快速方便的方法。
最後,如果要結合的儲存格裡有經過格式化的數值資料,例如時間、日期、貨幣等,結合後的內容無法呈現原本的格式,此時須透過 TEXT 函數來維持原本的資料格式,再運用上面提到的3種方法進行資料的結合。TEXT 函數的語法如下:
=TEXT(value, format_text)
括號裡的第1個引數為想轉換成文字的數值,第2個引數為想套用的文字串格式。換句話說,TEXT 函數可以套用文字串格式至數值上,讓資料更清楚、正確地呈現出來。
舉例來說,在沒有適用 TEXT 函數的情況下,若要結合下圖裡姓名(NAME)和收入(INCOME)的資料至同一儲存格裡,可在儲存格F2裡輸入下面的語法:
=TEXTJOIN(“ ”, TRUE, B2, D2)
這語法要求結合儲存格B2和D2且兩者之間用一空格區隔開來,傳回結果如下圖,可以發現收入的金錢符號和千位數分隔符號已不存在。

為了維持原本收入資料的格式,可以利用 TEXT 函數並內嵌在 TEXTJOIN 函數裡面。在下圖儲存格F2裡改輸入下面的語法:
=TEXTJOIN(“ ”, TRUE, B2, TEXT(D2, “$#,##0”))
引數 $#,##0 為貨幣的格式,不論是何種格式,都須放在雙引號裡,其他常用的文字串格式可以參考微軟網站 TEXT 函數的說明。這語法會傳回下圖的結果,可以清楚地看到資料結合後,收入仍舊維持原本的格式。

不只是 TEXTJOIN 函數,TEXT 函數也可以和上面介紹的 & 符號或 CONCAT 函數一併使用,讓資料能夠以原本的格式和其他儲存格的文字結合,也讓結合後的資料呈現更具意義。
總結來說,若想要結合不同儲存格的文字至一個儲存格裡,& 符號會是一個最快速方便的方法,且無須記憶任何的函數語法。如果習慣函數的使用,可以利用 CONCAT 函數,其和 & 符號唯一的差異在於語法的撰寫。若結合的文字和文字間要帶有相同的分隔符號或想彈性地選擇空白儲存格的顯示方法,TEXTJOIN 函數會是個更合適的方法。不論是哪一種方法,都可利用 TEXT 函數保持原本資料的格式後再與其他資料結合。
以上為本篇文章對如何使用 Excel 結合不同儲存格資料至一個儲存格的介紹,希望透過本篇文章,您學會了 & 符號、CONCAT 函數和 TEXTJOIN 函數的使用時機和方法。若您喜歡本篇文章,請將本網站加入書籤,並隨時回訪本網站喔!另外,也歡迎您追蹤本網站的 Facebook 和/或 X(Twitter)專頁喲!
如果您覺得本篇文章對您有幫助,歡迎買杯珍奶給 Dr. Fish!小小珍奶,大大鼓勵,您的支持將給 Dr. Fish 更多撰寫優質文章的動力喔!