文字列演算子(&)を使った文字列の結合

Excel で文字列と文字列を結合するには文字列演算子である & を使用するか、 CONCAT 関数や TEXTJOIN 関数を使用します。ここでは Excel の文字列演算子を使った文字列の結合方法、および Excel で用意されている関数を使った文字列の結合について解説します。

(Last modified: )

文字列演算子(&)を使った文字列の結合

Excel で文字列と文字列を結合するには文字列演算子である & を使用します。

文字列1 & 文字列2

& 演算子の左辺と右辺の値を結合し、一つの文字列として返します。

例えば "ABC" と "DEF" の 2 つの文字列を結合し 1 つの文字列として取得するには次のように記述します。

= "ABC" & "DEF"
--> ABCDEF

それでは実際に試してみます。 Excel のシートに文字列を次のように入力しました。

文字列演算子を使った文字列の結合(1)

結合した文字列を表示する D3 セルを選択し、次のように入力しました。

=B3&C3

文字列演算子を使った文字列の結合(2)

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

文字列演算子を使った文字列の結合(3)

B3 セルと C3 セルに入力されていた文字列が & 演算子によって結合されて D3 セルに表示されました。

同じように D4 セルから D7 セルに対しても & 演算子を使用して文字列を結合してみます。

文字列演算子を使った文字列の結合(4)

数値や日付の値と結合する場合の注意点

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

数値や日付と結合する場合の注意点(1)

D3 セルに & 演算子を使って次のように入力し、文字列が入力された B3 セルと数値が入力された C3 セルの値を結合しました。

=B3&C3

数値や日付と結合する場合の注意点(2)

Enter キーを押すと D3 セルには次のように表示されました。 "売上8,520" ではなく "売上8520" と結合されています。 C3 セルに設定されていた表示形式が反映されず、値として保管されている 8520 と結合されたためです。

数値や日付と結合する場合の注意点(3)

同じように D4 セルと D5 セルで & 演算子を使って文字列と日付や時刻の値を結合しました。

数値や日付と結合する場合の注意点(4)

日付や時刻の値と結合する場合は、表示されていた値ではなく日付と時刻が内部的に値を保管するのに使用しているシリアル値が結合されています。 2020/9/14 を表すシリアル値は 44088 で、 12:04:38 を表すシリアル値は 0.503217592592593 です。

※ 日付や時刻に関するシリアル値については「Excelにおける日付と時刻のシリアル値とは」を参照されてください。

日付や時刻の値を文字列に変換してから結合する

表示形式が設定された数値や、シリアル値として保存されている日付や時刻の値を表示されたまま結合したい場合には、いったん TEXT 関数を使って数値や日付の値を文字列に変換する必要があります。

例えば表示形式が設定された数値を文字列に変換するため、 D3 セルに次のように入力しました。

=TEXT(C3,"#,###0")

日付や時刻の値を文字列に変換してから結合する(1)

Enter キーを押すと、 D3 セルには次のように表示されます。 C3 セルに入力されていた数値を指定した表示形式を使った文字列に変換しました。

日付や時刻の値を文字列に変換してから結合する(2)

では & 演算子を使って B3 セルと D3 セルの値を結合してみます。

=B3&D3

日付や時刻の値を文字列に変換してから結合する(3)

日付や時刻の値を文字列に変換してから結合する(4)

表示形式が設定された状態で結合することができました。

次に日付や時刻などシリアル値で保管されている値を文字列に変換してから結合してみます。 D4 セルに次のように入力しました。

=TEXT(C4,"yyyy/m/d")

日付や時刻の値を文字列に変換してから結合する(5)

Enter キーを押すと、 D4 セルには次のように表示されます。 C4 セルに入力されていた日付の値を指定した表示形式を使った文字列に変換しました。

日付や時刻の値を文字列に変換してから結合する(6)

また D5 セルに次のように入力しました。

=TEXT(C5,"h:mm:ss")

日付や時刻の値を文字列に変換してから結合する(7)

Enter キーを押すと、 D5 セルには次のように表示されます。 C5 セルに入力されていた時刻の値を指定した表示形式を使った文字列に変換しました。

日付や時刻の値を文字列に変換してから結合する(8)

では & 演算子を使って B4 セルと D4 セル、そして B5 セルと D5 セルの値を結合してみます。

日付や時刻の値を文字列に変換してから結合する(9)

日付や時刻の値を文字列に変換したあとで結合することができました。

※ TEXT 関数の使い方については「TEXT関数:対象の数値に指定した表示形式を設定した文字列を取得する」を参照されてください。

関数を使って文字列を結合する

Excel では文字列演算子の & を使って文字列を結合することもできますが、 Excel で用意されている CONCATENATE 関数、 CONCAT 関数、 TEXTJOIN 関数を使っても文字列を連結することができます。それぞれ簡単にご紹介します。

CONCATENATE関数

CONCATENATE 関数では結合する文字列を順に引数に指定して実行すると 1 つに結合された文字列を返します。

※ CONCATENATE 関数は Excel のすべてのバージョンでも使用可能な関数ですが、 Excel 2019 以降では CONCAT 関数を使用することが推奨されています。

例えば D3 セルに次のように入力します。

=CONCATENATE(B3,C3)

関数を使って文字列を結合する(1)

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

関数を使って文字列を結合する(2)

B3 セルと C3 セルに入力されている文字列が結合されて E2 セルに表示されました。 CONCATENATE 関数について詳しは「文字列を結合する(CONCATENATE)」を参照されてください。

CONCAT関数

CONCAT 関数は CONCATENATE 関数とほぼ同じ関数です。引数に結合するセルを順に指定する以外に、セル範囲を指定することができます。 Excel 2019 以降のバージョンで使用可能です。

例えば D3 セルに次のように入力します。

=CONCAT(B3,C3)

関数を使って文字列を結合する(3)

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

関数を使って文字列を結合する(4)

B3 セルと C3 セルに入力されている文字列が結合されて E2 セルに表示されました。 CONCAT 関数について詳しは「文字列を結合する(CONCAT)」を参照されてください。

TEXTJOIN関数

TEXTJOIN 関数は結合する文字列の間に区切り文字を挿入して結合することができます。 Excel 2019 以降のバージョンで使用可能です。

例えば D3 セルに次のように入力します。区切り文字として空白 " " を指定しています。

=TEXTJOIN(" ",FALSE,B3,C3)

関数を使って文字列を結合する(5)

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

関数を使って文字列を結合する(6)

B3 セルと C3 セルに入力されている文字列が結合されて E2 セルに表示されました。結合するときに区切り文字に指定した " " を挟んで結合されています。 TEXTJOIN 関数について詳しは「区切り文字を使い文字列を結合する(TEXTJOIN)」を参照されてください。

-- --

Excel の文字列演算子を使った文字列の結合方法、および Excel で用意されている関数を使った文字列の結合について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。