TEXTJOIN関数:区切り文字を使い文字列を結合する

広告

TEXTJOIN 関数は Excel で用意されている関数の一つで、引数に指定した複数の文字列を区切り文字を間に挟みながら結合し一つの文字列にして返します。ここでは Excel における TEXTJOIN 関数の使い方について解説します。

(2021 年 09 月 05 日公開 / 2021 年 09 月 05 日更新)

TEXTJOIN関数の解説

TEXTJOIN 関数は引数に指定した複数の文字列を区切り文字を挟みながら結合し、一つの文字列として返します。

TEXTJOIN(区切り文字,空のセルの処理,文字列1,文字列2,...)

1 番目の引数に区切り文字を表す文字列または文字列が含まれるセルを指定します。セル範囲を指定することもできます。

2 番目の引数に空の文字列または空のセルがあった場合に無視するかどうかを指定します。 TRUE の場合は無視して区切り文字を挿入しません。 FALSE の場合は区切り文字を挿入します。値を省略した場合は TRUE を指定したものとみなされます。

3 番目以降の引数に文字列または文字列が含まれるセルを指定します。文字列を指定する場合はダブルクォーテーションで囲んで指定してください。最大で 252 個の引数を指定できます。文字列だけでなく数値や日付の値を指定することもできます。またセル範囲を指定して連続するセルをまとめて結合することもできます。

例えば区切り文字として "-", 空のセルの処理は FALSE , 3 番目以降の引数として "03" , "1234" , "5678" を指定した場合、結果として "03-1234-5678" になります。

=TEXTJOIN("-",FALSE,"03","1234","5678")
--> 03-1234-5678

日付や時刻の値を引数に指定することもできますが、日付の値は内部的に保管されているシリアル値として結合されるのでご注意ください。(日付や時刻に関するシリアル値については「Excelにおける日付と時刻のシリアル値とは」を参照されてください)。

TEXTJOIN関数のサンプル

それでは実際に TEXTJOIN 関数を使ってみます。 Excel のシートに結合の対象となる文字列を次のように入力しました。

TEXTJOIN関数のサンプル(1)

取得した文字列を表示する E2 セルを選択し、次のように入力しました。 TEXTJOIN 関数で今回は 3 つセルに入力されている文字列を結合するため、 B2, C2, D2 セルを指定しました。また区切り文字として "," 、空のセルの処理は FALSE としています。

=TEXTJOIN(",",FALSE,B2,C2,D2)

TEXTJOIN関数のサンプル(2)

Enter キーを押すと、 E2 セルには次のように表示されます。

TEXTJOIN関数のサンプル(3)

B2, C2, D2 セルに入力されている文字列を区切り文字 "," を間に挟みながら結合し 1 つの文字列にしてから C2 セルに表示しました。

同じように E3 および E4 セルに対しても TEXTJOIN 関数を入力し、結合する文字列として 3 番目の引数に B3 および B4 、 4 番目の引数に C3 および C4 、 5 番目の引数に D3 および D4を指定し、区切り文字は "," 、空のセルの処理は FALSE とすると次のように表示されました。

TEXTJOIN関数のサンプル(4)

空のセルの処理として FALSE を指定したため、 C3 セルが空となっていますが無視されずに区切り文字が挿入されています。

空のセルを無視する

もし空のセルの処理として TRUE を指定した場合はどのようになるのかを確認します。 E3 セルに対して次のように入力してください。

=TEXTJOIN(",",TRUE,B3,C3,D3)

TEXTJOIN関数のサンプル(5)

Enter キーを押すと、 E3 セルには次のように表示されます。

TEXTJOIN関数のサンプル(6)

空のセルは無視されるため、空のセルについては区切り文字が挿入されませんでした。

セル範囲を引数に指定する

TEXTJOIN 関数では引数にセル範囲を指定することができます。 E4 セルに対して TEXTJOIN 関数を入力し、結合する文字列として B4:D4 とセル範囲を指定すると次のように表示されました。

=TEXTJOIN(",",FALSE,B4:D4)

TEXTJOIN関数のサンプル(7)

TEXTJOIN関数のサンプル(8)

セル範囲については「セル範囲を指定する」を参照されてください。

数値や日付と結合する

なお結合するのは文字列だけでなく数値や日付の値なども可能ですが、いずれに場合もセルに設定されている表示形式が反映されない値として結合されるため注意が必要です。例として Excel のシートに結合の対象となる文字列を次のように入力しました。

TEXTJOIN関数のサンプル(9)

D2, D3, D4 セルに TEXTJOIN 関数を入力し、それぞれ区切り文字として " : " 、空のセルの処理として FALSE 、 3 番目の引数として B2, B3, B4 、 4 番目の引数として C2, C3, C4 を指定すると次のように表示されました。

=TEXTJOIN(" : ",FALSE,B2,C2)

TEXTJOIN関数のサンプル(10)

C2 に入力されている数値には表示形式としてカンマが表示されるように設定していましたが、文字列の結合を行うときは表示形式が除外された状態で文字列が結合されています。

また C3 および C4 では日付と時刻が内部的に値を保管するのに使用しているシリアル値が結合されています。 1998/10/4 を表すシリアル値は 36072 で、 13:45:21 を表すシリアル値は 0.573159722222222 です。

関数の挿入を使ってTEXTJOIN関数を入力する

TEXTJOIN 関数を入力する場合に関数の挿入を使って行う方法を試してみます。関数を挿入するセルをクリックして選択したあとで、関数の挿入をクリックします。

関数の挿入を使ってTEXTJOIN関数を入力する(1)

「関数の挿入」ダイアログが表示されたら関数名のところで「TEXTJOIN」をクリックしてください。そのあとで「OK」をクリックしてください。

関数の挿入を使ってTEXTJOIN関数を入力する(2)

「関数の引数」ダイアログが表示されたら、 1 番目の引数を入力するテキストボックスに区切り文字である "," 、 2 番目の引数を入力するテキストボックスに空のセルの処理として FALSE を入力して下さい。

関数の挿入を使ってTEXTJOIN関数を入力する(3)

続いてダイアログで 3 番目の引数を入力するテキストボックスをクリックして選択してから引数に入力するセルを Excel 上でクリックして下さい。

関数の挿入を使ってTEXTJOIN関数を入力する(4)

関数の挿入を使ってTEXTJOIN関数を入力する(5)

ダイアログの 3 番目の引数のところに先ほどクリックしたセルが表示されます。

関数の挿入を使ってTEXTJOIN関数を入力する(6)

続いてダイアログで 4 番目の引数を入力するテキストボックスをクリックして選択してから引数に入力するセルを Excel 上でクリックして下さい。

関数の挿入を使ってTEXTJOIN関数を入力する(7)

関数の挿入を使ってTEXTJOIN関数を入力する(8)

ダイアログの 4 番目の引数のところに先ほどクリックしたセルが表示されます。

関数の挿入を使ってTEXTJOIN関数を入力する(9)

続いてダイアログで 5 番目の引数を入力するテキストボックスをクリックして選択してから引数に入力するセルを Excel 上でクリックして下さい。

関数の挿入を使ってTEXTJOIN関数を入力する(10)

関数の挿入を使ってTEXTJOIN関数を入力する(11)

ダイアログの 5 番目の引数のところに先ほどクリックしたセルが表示されます。

関数の挿入を使ってTEXTJOIN関数を入力する(12)

引数の指定が終わると結果としてセルに表示される値も表示されます。最後に「OK」をクリックしてください。

関数の挿入を使ってTEXTJOIN関数を入力する(14)

最初に選択したセルに TEXTJOIN 関数が入力され、結果がセルに表示されます。

関数の挿入を使ってTEXTJOIN関数を入力する(15)

セル範囲を引数に指定する

なお TEXTJOIN 関数の場合はセル範囲を引数に指定することもできます。例として 3 番目の引数の箇所にセル範囲を指定してみます。

関数の挿入を使ってTEXTJOIN関数を入力する(16)

引数の指定が終わったら「OK」をクリックしてください。最初に選択したセルに TEXTJOIN 関数が入力され、結果がセルに表示されます。

関数の挿入を使ってTEXTJOIN関数を入力する(17)

-- --

Excel における TEXTJOIN 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。