Excelで文字列を結合できる3つの関数の使い方紹介!【CONCATENATE/TEXTJOIN/CONCAT】

Excelで文字列を結合できる3つの関数の使い方紹介!【CONCATENATE/TEXTJOIN/CONCAT】

Excelで文字列を結合する場合、&(アンパサンド)を使うことがありますが、CONCATENATE関数などの文字列結合用関数を使って結合することもあります。今回はCONCATENATE関数など便利な文字列結合用関数を紹介します。


目次[非表示]

  1. Excelで文字列を結合できる3つの関数の使い方

Excelで文字列を結合できる3つの関数の使い方

Excelでは様々な方法で文字列を結合して1つにまとめることができます。

Excelで使える主な文字列結合用関数は、

  • CONCATENATE関数
  • TEXTJOIN関数
  • CONCAT関数
の3つです。

それぞれ使い方や特徴が異なるので詳しく見ていきましょう。

CONCATENATE関数

Excelで使える文字列結合関数の中で最も古くからあるのがCONCATENATE関数です。読み方はコンカティネート。

CONCATENATE関数を記述する際は

CONCATENATE(文字列1[,文字列2,文字列3...])

のように、結合する文字列が入ったセルを1つずつ指定していきます。

セルの結合
例えばA1・B1・C1セルを結合したい場合はこのように記述します。

指定できる引数が結合する文字列の入ったセルだけですので、関数を一度も使ったことがない人でもすぐに覚えられるでしょう。

使う際の注意点

CONCATENATE関数は一番古い関数だからか、機能面が非常に乏しいです。

仮にA1セルからA100セルまで結合しようと思うとどう記述するでしょうか?

CONCATENATE関数
これまで関数を書いたことがある人ならば、このように記述するでしょう。

実はCONCATENATE関数はこの書き方が使えないのです。

ですので、A1セルからA100セルまで結合しようと思ったら、「=CONCATENATE(A1,A2,A3,A4...」というように100セル分書き込まないといけないのです。

そのためCONCATENATE関数は2~3個程度のセルを結合するぐらいにしか使い道がなく、新しい文字列結合用関数が登場している今は使うメリットがあまりありません。

この後紹介している他の文字列結合用関数であるTEXTJOIN関数やCONCAT関数のほうが圧倒的に使いやすいのでそちらを使うといいでしょう。

TEXTJOIN関数

TEXTJOIN関数は、文字列の結合の際に文字列と文字列の間に区切り文字をはさむことができる関数です。読み方はテキストジョイン。

記述する際は以下のように記述します。

TEXTJOIN(区切り文字,空の文字列を無視するかどうか,文字列1[,文字列2,文字列3...]

指定しなければならない引数が少し多いですが、こちらは先ほど紹介したCONCATENATE関数と違って文字列結合セルを範囲指定できます。

TEXTJOIN関数
そのため、A1:B30まで結合したいのであればこのように記述するだけです。サンプルではカンマを区切り文字に指定しています。

TEXTJOIN関数は間に区切り文字を入れることができ、改行文字などの特殊文字も指定可能です。

また、指定する区切り文字を空白にすることで区切り文字を挟まずに結合することも可能です。

TEXTJOIN関数の区切り文字
区切り文字を使わない場合はこのように、「"(ダブルクォーテーション)」の間に何も書かないようにしましょう。スペースも書いてはいけません(スペースが区切り文字として扱われます)。
結合した文字列
これで区切り文字なしで結合した文字列をが完成します。

この方法で複数の範囲セルを指定した文字列結合を行えますが、ただただ文字列を結合したいだけであればTEXTJOIN関数ではなく後述するCONCAT関数を使うようにしてください。

CONCAT関数はとにかく文字列結合に特化しているため、TEXTJOIN関数よりも使いやすいと感じるでしょう。

使用上のポイント

文字列を結合するセルを範囲指定したとき、指定した範囲の中に空白セルがあった状態で区切り文字を指定するとどうなるでしょうか?

二回連続で区切り文字が続く表記
空白セル対策をしていない場合はこのように区切り文字が2回連続で続くような表記になってしまいます。

予め対策するのはものすごく面倒そうだと感じるかもしれませんが、TEXTJOIN関数は既に対応する方法が用意されています。

2つめの引数にTRUEを入力
空白セルを無視する場合は、TEXTJOIN関数の2つめの引数(区切り文字の次に指定する引数)にTRUEを与えます。
空白セルを無視する設定
TRUEを与えることで空白セルを無視する設定になり、無駄のない文字列結合が行えます。

CSV出力用などなんらかの理由があればFALSEを指定するといいですが、空白セルを無視して切り詰めたい場合はTRUEを指定するようにしてください。

 

そして、TEXTJOIN関数は区切り文字を指定できると言いましたが、指定する区切り文字は1文字じゃなくても問題ありません。

区切り文字の設定
例えば区切り文字を「_0_」みたいにすることもできますよ。
区切り文字の設定
もちろん、複数文字を区切り文字の指定したとしてもしっかり反映して出力してくれます。

スペースを複数回指定して空白部分を増やすと言ったことも簡単に行えるので覚えておくといいでしょう。

TEXTJOIN関数で飛び飛びのセル情報を参照する
ちなみに、TEXTJOIN関数では、飛び飛びのセル情報を参照することが可能です。

このように複数の範囲セルをまとめて区切り文字で区切った文字列に変換することができるので、一度試してみるといいでしょう。

CONCAT関数

最後に紹介するのがCONCAT関数です。読み方はコンカット。

こちらは区切り文字を指定したり空白セルを飛ばすという機能もありませんが、文字列結合に置いては最も使いやすい関数です。

記述方法は以下のとおりです。

CONCAT(文字列1[,文字列2,文字列3...])

上記構文を見て分かる通り、書き方はCONCATENATE関数と全く同じです、

大きく異なるのが指定できるセルについてです。

CONCATENATE関数は範囲指定セルを指定することができず「A1,A2,A3」のように個別にセルを指定しなければなりませんでした。

CONCAT関数
ですが、CONCAT関数は「A1:A10」のように範囲をまとめて指定して文字列を結合することができます。

ただ文字列を結合する予定なので空白セルが影響することもなく非常に使い勝手が良いといえるでしょう。

CONCAT関数の魅力はこれだけではありません。

CONCAT関数の記述方法がCONCATENATE関数と同じということは、結合したいセルを次々に指定できることです。

複数の範囲セルの参照
つまり、TEXTJOIN関数と同じように複数の範囲セルの参照が可能で、しっかり結合してくれます。
CONCAT関数
このような飛び飛びのデータもまとめて結合してくれるため文字列結合において困ることはまずないでしょう。

ただし、とにかく文字列結合に特化している関係で区切り文字を入れるための引数が用意されていません。

CONCAT関数の区切り文字の設定
ですが、このように記述することで区切り文字を与えることは可能です。

参照するセルの情報だけでなく、文字列を直接指定することもできないので、「セル、区切り文字、セル、区切り文字」のように交互に引数を与えていけば区切り文字として機能します。

CONCAT関数の画面
TEXTJOIN関数はセルの文字列ごとに区切り文字が挟まれることに対して、CONCAT関数は指定した範囲セル・セルごとに区切り文字が適用されることに注目しましょう。
TEXTJOIN関数とCONCAT関数を組み合わせたセル
そのため、TEXTJOIN関数とCONCAT関数を組み合わせればこのような文字列を作り出すこともできます。

どこまでが1行分・1列分の文字列なのかわかりやすくできるので、必要な場合は是非TEXTJOIN関数とCONCAT関数を組み合わせて使いこなしてみてください。

ちなみに、いずれの関数も文字列だけでなく数値や日付などのテキスト以外の情報も指定できるので気になる方は試してみると良いでしょう。


関連記事