複数のセルの文字列を結合して、一つの文字列にする方法(JOIN関数 / CONCAT関数 / CONCATENATE関数 / &)

複数セルに存在する文字列を結合して、ひとつづきの文字列にする方法を解説します。

こんな人におすすめ!
  • 「名字」が書かれたセルと、「名前」が書かれたセルを結合して、一つの「姓名」の文字列にしたい。
  • 「郵便番号」が書かれたセルと、「都道府県」・「市区町村」が書かれたセルを結合して、一つの「住所」の文字列にしたい。
  • 複数条件でVLOOKUP関数をつかうために、複数セルの条件を一つのセルにまとめたい。

今日の公式

複数のセルの文字列を結合する方法は、大きく4つあります。
それぞれ見ていきましょう。

1JOIN関数を使う方法

JOIN関数は、文字列と文字列を結合するときに、間に特定の文字を挿入することができる関数です。

=JOIN(区切り文字, 値または配列1, [値または配列2, ...])
項目説明
区切り文字結合する値と値の間に挿入する文字列を指定します。なにも挿入しない場合は、空白にすることも可能です。
値または配列1結合するときに先頭にくる値または配列です。
値または配列2追加で結合する値または配列です。

2CONCAT関数を使う方法

CONCAT関数は2つの文字列を結合することができる関数です。

=CONCAT(値1, 値2)
項目説明
値1結合するときに先頭にくる値または配列です。
値2追加で結合する値または配列です。

2CONCATENATE関数を使う方法

さきほどのCONCAT関数では、2つまでしか文字列を結合できませんでしたが、CONCATENATE関数では、結合できる数の上限がありません。
いわばCONCAT関数の上位互換のような関数です。

=CONCATENATE(文字列1, [文字列2, ...])
項目説明
文字列1結合するときに先頭にくる値または配列です。
文字列2追加で結合する値または配列です。

3「&」を使う方法

関数ではありませんが、「&」を使って文字列を結合することもできます。

JOIN関数やCONCATENATE関数を使うよりも直感的な記述なので、筆者はいつもこの方法を使用しています。

=値1&値2...
項目説明
値1結合するときに先頭にくる値または配列です。
値2追加で結合する値または配列です。

複数セルの文字列を結合する方法の解説

今回は下の図のように、D列~F列の「郵便番号」「都道府県」「市区町村」の3つの文字列を結合し、一つの住所情報(G列)にするケースで解説します。

なお、「郵便番号」と「都道府県」の間に、全角スペースを挿入するものとします。

1JOIN関数で文字列を結合させる場合

区切り文字はないので、空白もしくは「""」を指定します。

「郵便番号」と「都道府県」の間の全角スペースはダブルクォーテーションをつかって「" "」と記述します。

=JOIN("",D5, " ", E5, F5)

2CONCAT関数で文字列を結合させる場合

CONCAT関数は、2つの値を結合するための関数であるため、「郵便番号」「"空白セル"」「都道府県」「市区町村」の4つを結合するような今回のケースでは、使用できません。

無理やり使うことも可能ですが・・・

=CONCAT(CONCAT(D6, " "), CONCAT(E6, F6))

このように「CONCAT関数をさらにCONCAT関数で囲む」という、歪な関数の組み方になってしまいます。

3CONCATENATE関数で文字列を結合させる場合

JOIN関数と違って「区切り文字」を指定する必要はないので、結合する値を指定するだけで記述できます。

JOIN関数よりも直感的で、CONCAT関数よりも汎用性が高いですね。

=CONCATENATE(D7, " ", E7, F7)

4「&」で文字列を結合させる場合

CONCATENATE関数よりも、さらに直感的な記述方法です。

それぞれのセルや文字列を「&」でつないでいくだけです。

=D8&" "&E8&F8

おすすめの記事