目錄
ToggleExcel CONCATENATE 函數完整教學
什麼是 CONCATENATE 函數?
CONCATENATE 是 Excel 中用來將多個文字或數字合併為一個字串的函數,常見於報表製作、名單整理、批次產生格式化內容等場景。例如,將姓名、地址、產品資訊等多欄資料合併為一列,便於後續分析或輸出。
需要特別注意的是,從 Excel 2016 開始,官方已將 CONCATENATE 標記為「已過時」函數,建議改用功能更強大的 CONCAT 或 TEXTJOIN。舊版 Excel(如 Excel 2013、2010 及更早)仍支援 CONCATENATE,但新版 Excel(包含 Excel for Microsoft 365、Excel for Web、手機版)則推薦使用 CONCAT 或 TEXTJOIN,以獲得更佳的彈性與效能。
適用版本簡表:
| 函數 | 支援版本 | 是否建議使用 |
|---|---|---|
| CONCATENATE | Excel 2007~2016、365等 | 不建議(已過時) |
| CONCAT | Excel 2016 以後 | 建議 |
| TEXTJOIN | Excel 2016 以後 | 建議 |
CONCATENATE 函數語法與用法
語法結構
=CONCATENATE(text1, text2, [text3], ...)
- text1, text2, …:要合併的文字、數字或單元格。最多可接受 255 個參數,總字元數上限為 8,192 字元。
參數說明與常見錯誤
- 參數可為直接輸入的文字(需加雙引號),或單元格引用。
- 若參數超過 255 個,或合併後字元數超過 8,192,將出現錯誤。
- 不支援直接合併範圍(如 A1:A3),須逐一列出或改用 TEXTJOIN。
- 若有空白單元格,會將空值直接合併,不會自動跳過或加分隔符。
常見錯誤訊息
- #VALUE!:參數型態錯誤、過多或合併內容超過字元上限。
- 結果缺少分隔符:忘記在參數間加入空格、逗號等分隔符。
CONCATENATE 實用範例
基本合併:姓名拼接
假設 A2 為「王」,B2 為「小明」,要合併成「王小明」:
=CONCATENATE(A2, B2)
加入分隔符:姓名與職稱
A2 為「林大華」,B2 為「經理」,希望結果為「林大華 – 經理」:
=CONCATENATE(A2, " - ", B2)
多欄位合併:地址組合
A2 為「台北市」、B2 為「信義區」、C2 為「松仁路100號」,合併成完整地址:
=CONCATENATE(A2, B2, C2)
若需加分隔符:
=CONCATENATE(A2, " ", B2, " ", C2)
實務案例:批次產生郵件內容
A2 為「陳小姐」、B2 為「訂單1234」,自動產生「親愛的陳小姐,您的訂單1234已出貨」:
=CONCATENATE("親愛的", A2, ",您的", B2, "已出貨")
常見錯誤示範
- 忘記加入分隔符,導致內容連在一起。
- 嘗試使用範圍參數(如 A2:A4),會出現錯誤。
CONCATENATE 函數的限制與注意事項
- 參數數量上限:最多 255 個參數,合併後總字元數不得超過 8,192。
- 不支援範圍參數:無法直接合併 A2:A10,需逐一列出或改用 TEXTJOIN。
- 空白處理:遇到空白單元格,會直接合併,不會自動跳過或加分隔符。
- 相容性問題:新版 Excel 雖仍支援 CONCATENATE,但已不再更新,建議改用 CONCAT 或 TEXTJOIN。
- 維護性差:公式過長或合併欄位多時,維護困難,易出錯。
CONCAT 與 TEXTJOIN 函數介紹與比較
CONCAT 函數
語法:
=CONCAT(text1, [text2], ...)
- 與 CONCATENATE 類似,但支援合併範圍(如 A2:A10)。
- 仍不支援分隔符,需自行加上。
範例:
=CONCAT(A2:A4)
(會將 A2、A3、A4 內容直接合併)
TEXTJOIN 函數
語法:
=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)
- 可自訂分隔符(delimiter),如空格、逗號。
- 可選擇是否跳過空白欄位(ignore_empty)。
- 支援合併範圍。
範例:
=TEXTJOIN(", ", TRUE, A2:A4)
(將 A2~A4 內容以逗號分隔,並跳過空白)
三者功能比較表
| 功能/函數 | CONCATENATE | CONCAT | TEXTJOIN |
|---|---|---|---|
| 合併多欄 | ✔ | ✔ | ✔ |
| 合併範圍 | ✘ | ✔ | ✔ |
| 自訂分隔符 | ✘ | ✘ | ✔ |
| 跳過空白 | ✘ | ✘ | ✔ |
| 建議使用 | ✘ | 部分 | ✔ |
| 適用版本 | 舊版 | 新版 | 新版 |
適用情境建議
- CONCATENATE:僅限舊版 Excel 維護舊檔案時使用。
- CONCAT:需合併範圍但不需分隔符時。
- TEXTJOIN:需合併範圍、加分隔符、跳過空白時,最推薦。
常見問題(FAQ)
如何合併多欄資料?
若需合併多個欄位,CONCATENATE 需逐一列出欄位,或改用 CONCAT/TEXTJOIN 合併範圍。
如何自訂分隔符?
CONCATENATE 需手動在每個欄位間加分隔符;TEXTJOIN 可直接指定分隔符參數。
如何跳過空白欄位?
TEXTJOIN 可設定 ignore_empty 為 TRUE,自動跳過空白欄位。CONCATENATE/CONCAT 無此功能。
CONCATENATE、CONCAT、TEXTJOIN 何時用哪個?
- 舊檔案維護用 CONCATENATE。
- 合併範圍用 CONCAT。
- 需分隔符、跳過空白用 TEXTJOIN(最推薦)。
進階應用技巧
結合 IF 條件判斷
可搭配 IF 函數,根據條件決定合併內容。例如,僅當 B2 不為空時才顯示職稱:
=CONCATENATE(A2, IF(B2<>"", " - " & B2, ""))
使用 & 運算子簡化公式
Excel 支援用 & 直接串接文字,功能等同 CONCATENATE,語法更簡潔:
=A2 & " - " & B2
與其他函數搭配
可結合 UPPER、LOWER、TRIM 等函數,進行格式化處理。例如:
=CONCATENATE(UPPER(A2), " ", TRIM(B2))
總結與效率提升建議
CONCATENATE 雖然在舊版 Excel 中仍常見,但已被 CONCAT 與 TEXTJOIN 取代。建議在新專案或資料處理時,優先選用 TEXTJOIN,能大幅提升合併效率與彈性,特別適合批量處理、報表自動化等場景。
若你經常需要在 Excel 之外協作、管理專案或自動化資料流,建議可搭配 Monday.com、ClickUp 等現代化專案管理工具,這些平台支援 Excel 整合,能進一步提升團隊資料處理與協作效率。