・姓と名を結合して表示したい
・都道府県・市区町村・番地を1つのセルにまとめたい
Excelでこういった文字列の結合をするとき、&(アンパサンド)演算子を使っている方も多いと思います。
しかし、結合するセルが多いと数式が長くなりがちです。
そこで使いたいのが TEXTJOIN関数 と CONCAT関数 です。
この2つを覚えると、複数のセルをすっきり結合できるようになります。
文字の結合・3つの方法の比較
文字を結合する3つの方法を下記にまとめました。
| 方法 | 特徴 | 向いている場面 |
|---|---|---|
& 演算子 | シンプル。区切り文字を毎回書く必要がある | 2〜3セルの結合 |
| CONCAT関数 | 範囲指定で複数セルを一括結合。区切り文字なし | 区切りなしでまとめて結合したいとき |
| TEXTJOIN関数 | 区切り文字を指定して複数セルを結合。空白セルを無視できる | 区切り文字あり・空白セルが混在するとき |
それぞれについて解説していきます。
&演算子:基本の結合方法
最もシンプルな文字列結合の方法です。&でつなげば1つの文字列にすることができます。
=A1&B1

結合するセルが少ない場合はこれで十分ですが、セル数が増えると数式が長くなるのが難点です。
例:都道府県・市区町村・番地を結合
=A1&B1&C1&D1

CONCAT関数:範囲を指定してまとめて結合
まずはCONCAT関数です。単純に結合するならこの関数が便利です。
構文
=CONCAT(テキスト1, テキスト2, ...)
使い方
CONCATはセル範囲を指定できるのが特徴です。&で1つずつつなぐ必要がありません。
例:A2〜D2の4セルをまとめて結合
=CONCAT(A2:D2)

ただし、区切り文字の自動挿入や空白セルの無視はできません。
「スペースやカンマで区切りながら結合したい」場合はTEXTJOINを使います。
TEXTJOIN関数:区切り文字付きで結合
構文
=TEXTJOIN(区切り文字, 空白を無視, テキスト1, テキスト2, ...)
| 引数 | 内容 |
|---|---|
| 区切り文字 | セル間に挿入する文字(スペース・カンマ・ハイフンなど) |
| 空白を無視 | TRUE:空白セルを飛ばす/FALSE:空白も含める |
| テキスト1以降 | 結合するセルまたは範囲 |
基本的な使い方
例:姓(A2)と名(B2)をスペースで結合 → "田中 太郎"
=TEXTJOIN(" ", TRUE, A2, B2)
例:都道府県・市区町村・番地をカンマで結合
=TEXTJOIN(",", TRUE, A2:D2)

空白セルを無視する(第2引数TRUEの効果)
住所のように「番地はあるが建物名は空欄」というデータが混在する場合、TRUEにすると空欄セルを自動でスキップして余分な区切り文字が入りません。
データ例:
A2=東京都、B2=新宿区、C2=西新宿1-1、D2=(空白)
=TEXTJOIN(" ", TRUE, A2:D2)
→ 「東京都 新宿区 西新宿1-1」(末尾の余分なスペースなし)
=TEXTJOIN(" ", FALSE, A2:D2)
→ 「東京都 新宿区 西新宿1-1 」(末尾にスペースが入る)
実務でよく使うパターン
| やりたいこと | 数式例 |
|---|---|
| 姓・名をスペースで結合 | =TEXTJOIN(" ", TRUE, A2, B2) |
| 住所を結合(空白セルを無視) | =TEXTJOIN("", TRUE, A2:D2) |
| 複数の項目をカンマ区切りで一覧化 | =TEXTJOIN(",", TRUE, A2:A10) |
| 年月日を「/」で結合して日付文字列を作る | =TEXTJOIN("/", TRUE, A2, B2, C2) |
| 区切りなしで複数セルを一括結合 | =CONCAT(A2:D2) |
よくあるミスと対処法
| 症状 | 原因 | 対処法 |
|---|---|---|
| 区切り文字が余分に入る | 空白セルにFALSEを使っている | 第2引数をTRUEに変更する |
| 数値が結合後に文字列になって計算できない | TEXTJOINの結果は常に文字列 | 結合結果を計算に使う場合はVALUE関数で変換する |
| #NAME?エラーが出る | TEXTJOINはExcel 2019以降の関数 | Excel 2016以前では&演算子かCONCATENATE関数を使う |
| CONCATとCONCATENATEの違いが分からない | CONCATENATEは旧バージョンの関数 | 基本的にCONCATを使えばOK(機能はほぼ同じ) |
まとめ
- &演算子:シンプルな結合に。セルが少ない場合はこれで十分
- CONCAT:範囲指定で複数セルを一括結合。区切り文字は不要なとき
- TEXTJOIN:区切り文字を指定しつつ複数セルを結合。空白セルをスキップできる
- 第2引数をTRUEにすると空白セルを無視できるのがTEXTJOINの最大の強み
- TEXTJOINはExcel 2019以降で使用可能
文字列を結合する場面は実務でとても多く、TEXTJOINを一度覚えるだけで住所や氏名の整形作業が大幅に楽になります。