CONCAT関数:文字列を結合する

CONCAT 関数は Excel で用意されている関数の一つで、引数に指定した複数の文字列を結合し一つの文字列にして返します。 CONCAT 関数では引数にセル範囲を指することができます。ここでは Excel における CONCAT 関数の使い方について解説します。

※ Excel では CONCAT 関数の他に文字列を結合する方法がいくつか用意されています。詳しくは「文字列演算子(&)を使った文字列の結合」を参照されてください。

※ Excel の対応バージョン : 365 web 2021 2019

(Last modified: )

CONCAT関数の定義

CONCAT 関数は引数に指定した複数の文字列を結合し、一つの文字列として返します。

CONCAT(文字列1,文字列2,・・・)

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

例えば引数として "東京都" , "千代田区" , "大手町" , 1 , "丁目" を指定した場合、結果として "東京都千代田区大手町1丁目" になります。

=CONCAT("東京都","千代田区","大手町",1,"丁目")
--> 東京都千代田区大手町1丁目

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

CONCAT関数の使い方

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

CONCAT関数の使い方(1)

取得した文字列を表示する E3 セルを選択し、次のように入力しました。 CONCAT 関数で今回は 3 つセルに入力されている文字列を結合するため、 B3, C3, D3 セルを指定しました。

=CONCAT(B3,C3,D3)

CONCAT関数の使い方(2)

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

CONCAT関数の使い方(3)

B3, C3, D3 セルに入力されている文字列を結合し 1 つの文字列にしてから C3 セルに表示しました。

同じように E4 セルから E7 セルに対しても CONCAT 関数を入力しました。

CONCAT関数の使い方(4)

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

CONCAT 関数では引数にセル範囲を指定することができます。連続している複数のセルを結合する場合にはセル範囲で指定した方が簡潔に記述できます。例として取得した文字列を表示する E3 セルを選択し、次のように入力しました。

=CONCAT(B3:D3)

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

Enter キーを押すと、 E3 セルには次のように表示されます。一つ一つ引数を記述した場合と同じ結果となりました。

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

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

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

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

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

D3 セルに CONCAT 関数を入力し、文字列が入力された B3 セルと数値が入力された C3 セルの値を結合しました。

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

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

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

同じように D4 セルと D5 セルに CONCAT 関数を入力し、文字列と日付や時刻の値を結合しました。

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

日付や時刻の値と結合する場合は、表示されていた値ではなく日付と時刻が内部的に値を保管するのに使用しているシリアル値が結合されています。 2021/10/25 を表すシリアル値は 44494 で、 16:22:15 を表すシリアル値は 0.682118055555556 です。

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

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

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

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

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

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

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

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

では CONCAT 関数を使って 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)

では CONCAT 関数を使って B4 セルと D4 セル、そして B5 セルと D5 セルの値を結合してみます。

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

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

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

-- --

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

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。