
上図のようにセルの文字を結合することができたら便利ですよね。
実は、いろんな方法で実現することができます。
この記事では、Excelで文字列を結合する方法や、実用例・エラー対策までわかりやすく解説いたします。
-著者情報-
名前:Utatane
Excel使用歴:15年以上
ひとこと:初心者だった当時に戻った気持ちになって解説いたします
※わかりやすさを重視しております。厳密には解釈が異なる場合がありますことをご了承ください。
実演パソコンのスペック(ソフトやバージョンによっては、表示や結果が異なる場合があります)
- OS:Windows11 Home 64bit
- Excel:Microsoft Office Home and Business 2021
Excelで文字列を結合する方法

上図のとおり、A1~C1セルに文字列が入っています。
これらを結合してD1セルに表示する方法を見ていきましょう。
まずは簡単な「&」演算子を使う方法です。
「&」演算子を使う
長所:簡単(初心者向け)
短所:多くの文字列を結合するのに向かない

上図のように入力することで、文字列を結合することができます。
セル名の間に「&」を入力するだけです。
A1やB1などのセル名は、直接入力してもよいのですが、セルを選択して参照する方が間違いが無いのでオススメです。
セル参照の方法は下記記事をご参考ください。
「A1-B1-C1」などのように、区切り文字が必要な場合は、区切り文字をさらに「&」で結合してください。
(=A1&“-“&B1&“-“&C1)

区切り文字を直接入力する場合は、「”(ダブルクォーテーション)」で囲う必要があります。
CONCATENATE関数を使う
長所:カンマ区切りでわかりやすい
短所:多くの文字列を結合するのに向かない
「CONCATENATE」関数を使っても文字列を結合することができます。
セルD1に下図のとおり入力してください。

各セルの間は「&」ではなく「,(カンマ)」ですので覚えておきましょう。
「A1-B1-C1」のようにしたい場合は、下図のように入力してください。

CONCAT関数を使う
長所:範囲選択したセルの文字列を結合できる
短所:区切り文字を使う際は、構文が長くなる場合がある
一番オススメの方法ですが、Excel2019以降のバージョンでしか使うことができません。
使い方は基本的に「CONCATENATE」関数と同じです。

この「CONCAT」関数の特徴として、セル範囲を指定することで、範囲内の文字列を結合することができます。

しかしながら、「A1-B1-C1」のようにしたい場合は、1つ1つのセルを参照する必要があります。

TEXTJOIN関数を使う
長所:区切り文字を指定できる
短所:引数がわかりにくい
少しクセのある関数ですが、場合によっては便利です。
こちらもExcel2019以降のバージョンでしか使うことができません。
使用例は下図のとおりです。

- 第1引数:区切り文字(必要ない場合は「””(空白)」を指定もしくは何も指定しない)
- 第2引数:空白の扱い(TRUEなら空白を無視、FALSEなら空白を含める)
- 第3引数~:結合するセルを指定。あとはCONCAT関数と同じ
区切り文字を必要とする場合は、このTEXTJOINが一番楽です。
(区切り文字を何度も指定しなくてよいため)
区切り文字が必要ない場合は、CONCATを使うのが最適です。
文字列結合の実用例
姓と名を結合

姓と名の間にスペースを入れています。
型番+商品コード

各区切り文字に「-」を入れています。
フォルダの階層を結合

Cドライブの後ろの区切り文字は「:¥」、以降は「¥」を指定しています。
URLを作成

区切り文字に「/」を指定しています。
郵便番号と住所を結合

郵便番号と住所の間にスペースを入れています。
うまく結合できない場合やエラーの対処法
セルに「#NAME?」と表示される
セルに「#NAME?」と表示された場合は、関数の名前(スペル)を間違えていたり、引数の指定方法が適切でない可能性があります。
「Excelで文字列を結合する方法」を参考に、セル内の関数を再確認してみましょう。
「この関数に対して、少なすぎる引数が入力されています。」という注意が表示される

上図のような画面が表示された場合は、引数の指定が適切でないことが原因です。
「Excelで文字列を結合する方法」を参考に、関数の引数を再確認してみましょう。
日付がうまく表示されない

日付をそのまま結合すると、上図のように表示形式が崩れる場合があります。
下図のように、TEXT関数を使って表示形式を指定しましょう。

最後に
Excelで文字列を結合する方法について解説いたしました。
当ブログでは、VBAマクロやPythonなど、時間を生み出すプログラミング術を公開しております。
この記事がわかりやすいと感じた方は、他の記事も読んでいってください。
最後までお読みいただき、ありがとうございました。がんばってください!