複数のセルに分かれた文字列をひとつにまとめる作業は、名簿作成や差し込み文書の準備など、事務職の日常業務でひんぱんに登場します。「姓」と「名」を結合して氏名にする、都道府県・市区町村・番地を結合して住所欄をひとつにする、会社名に「様」を付けて宛名を作るといった作業です。&演算子で済ませている人も多いと思いますが、空白セルが混ざったとたんに区切り文字だけが連続する不格好な文字列になったり、日付や数値のセルを結合すると見慣れない数字の羅列になったりと、意外なつまずきが多い領域でもあります。この記事では、&演算子・CONCATENATE・CONCAT・TEXTJOINの違いを整理しながら、実務でのつまずきどころを解説します。
文字列を結合する4つの方法とその違い
Excelで複数の文字列を結合する方法は、大きく分けて4つあります。歴史的な経緯から似た名前の関数が複数存在するため、まずは違いを整理しておきましょう。
&演算子
- =A1&A2 のように記号でつなぐ
- 区切り文字は自分で1つずつ挟む必要がある
- 空白セルの自動スキップはできない
CONCATENATE / CONCAT
- CONCATENATEは旧式、CONCATが後継
- CONCATはセル範囲をまとめて指定できる
- いずれも区切り文字の自動挿入や空白スキップはできない
TEXTJOIN
- 区切り文字をあらかじめ1回だけ指定できる
- 空白セルを自動でスキップできる
- セル範囲をそのまま指定できる
なかでもTEXTJOINは「区切り文字」と「空白セルを無視するかどうか」を最初に指定できる点が最大の強みです。結合したい項目のどこかが空欄でも、区切り文字だけが連続して残ってしまう事故を防げます。
TEXTJOINの基本の書き方
TEXTJOINは「区切り文字」「空白を無視するか」「結合したい範囲」の3つを基本の引数として指定します。範囲は複数まとめて指定することもできます。
例:A1に都道府県、B1に市区町村、C1に番地が入っており、空白セルがあっても読点だけを連続させずに住所欄をひとつにまとめる場合
=TEXTJOIN("",TRUE,A1:C1)
第2引数をTRUEにしておけば、C1(番地)が未入力の段階でも「東京都渋谷区,」のように区切り文字だけが末尾に残ることなく、入力済みの項目だけがつながります。区切り文字を空文字("")にすれば、住所のように項目間に記号を挟まずそのまま連結することも可能です。
実務でのよくある使用シーン
総務担当者であれば、社員名簿や取引先マスタで都道府県・市区町村・番地・建物名が別々の列に分かれているデータを、宛名ラベルや郵送物のために1つの住所セルへ結合する場面が典型的です。列によっては建物名が空欄のケースも多く、&演算子で結合していると「東京都渋谷区〇〇1-2-3,」のように末尾に余計なカンマや読点が残りがちですが、TEXTJOINなら空白列を自動でスキップしてくれるため、見た目が整った住所欄をそのまま作成できます。営業事務担当者であれば、見積書や請求書のあて名を「会社名+様」の形で自動生成するために結合式を使う場面がよくあります。会社名のセルに部署名や担当者名を追加したい場合も、CONCATやTEXTJOINで結合しておけば、差し込み文書の作成やメール本文への貼り付けがぐっと楽になります。
CONCAT・TEXTJOINでよくあるエラー・トラブルと対処法
&演算子やCONCATENATEで区切り文字を1つずつ手作業で挟んでいる場合、範囲の途中に空白セルがあると区切り文字だけがそのまま残ってしまいます。
対処法として、&演算子やCONCATENATEではなくTEXTJOINに切り替え、第2引数(空白を無視するか)にTRUEを指定してください。=TEXTJOIN("、",TRUE,A1:C1)とすれば、B1が空欄でも読点が連続することなく自動でスキップされます。
Excelは日付や時刻をシリアル値(1900年1月1日を1とした通し番号)として内部で管理しているため、そのまま結合すると表示上の日付ではなくシリアル値が連結されてしまいます。
対処法として、結合する前にTEXT関数で表示形式を指定してからつなげます。="発注日:"&TEXT(A1,"yyyy/m/d")のように書けば、「発注日:2026/9/20」と表示どおりの文字列になります。数値に単位や桁区切りを付けたい場合も同様に、TEXT(A1,"#,##0")のようにTEXT関数を経由させるのが基本です。
TEXTJOINで結合しようとしている範囲の中に、もともとエラー値を返しているセルが含まれていると、TEXTJOIN自体もそのエラーをそのまま返してしまいます。
対処法として、まず結合対象の範囲内にエラー値が出ているセルがないか確認しましょう。エラーの原因となっている数式側をIFERRORなどで先に処理しておくか、TEXTJOIN自体もIFERRORで包んで代替表示を用意しておくと安全です。
初心者がつまずきやすいポイントとコツ
- 日付・数値のセルはそのまま結合しない。見た目は「2026/9/20」でも裏側の実体はシリアル値です。文字列として結合したい場合は必ずTEXT関数で書式を指定してから結合します。
- TEXTJOINの引数の順番を覚える。「区切り文字→空白を無視するか→範囲」の順です。区切り文字を先に、空白の扱いを次に指定するという順序を意識すると迷いにくくなります。
- CONCATENATEは新しい数式では使わない。Excelの公式ヘルプでも将来的に廃止される可能性がある互換性関数として案内されています。単純な連結ならCONCAT、区切り文字が必要ならTEXTJOINを使いましょう。
- "様"のような固定の文字列は必ずダブルクォーテーションで囲む。=A1&様 のようにクォーテーションを忘れると、セル参照や名前と誤認識されエラーになります。
まとめ
文字列結合は&演算子でも一応できますが、空白セルが混ざる住所データや、区切り文字を挟みたい宛名データではTEXTJOINが圧倒的に扱いやすい関数です。区切り文字と空白セルの扱いを最初にまとめて指定できるため、後から列が増えても数式を大きく書き直す必要がありません。日付や数値を結合する際はシリアル値がそのまま連結されてしまう点にだけ注意し、TEXT関数で書式を指定してからつなげる習慣をつけておきましょう。数式を一から組み立てるのが不安な方は、下のツールで日本語の空欄を埋めるだけで数式を作成できます。
よくある質問
関連記事
- LEFT・RIGHT・MID関数で文字列を切り出す方法
- TRIM・SUBSTITUTE関数で全角スペースが消えない原因と対処法
- UPPER・LOWER・PROPER関数の使い方
- TEXT関数で日付・金額の表示形式を自由自在に変える方法
- LEN関数で文字数を数える方法|入力規則との組み合わせと全角スペース・改行のよくある落とし穴