CONCAT関数の使い方|複数の配列の文字列を結合

Excel(エクセル)CONCAT関数の使い方|複数の配列の文字列を結合
Excel関数

Excel(エクセル)CONCAT関数の使い方|複数の配列の文字列を結合

文字列を連結するCONCAT関数の基本的な使い方から応用までを、できるだけ分かりやすく解説していきます。

使用関数:CONCAT、TEXT、CHAR

CONCAT(コンカット)関数とは?

CONCAT(コンカット)は連結・連鎖を意味する英語CONCATENATE(コンカティネイト)の略です。その名の通り、文字列を結合させます。

CONCAT関数が使えるExcelバージョン、使えないExcelバージョン

CONCAT関数はCONCATENATE関数の後継としてExcel2016(Office365版のみ)から加わった文字列操作の関数です。単体のExcelでは2019から正式にリリースされました。

  • CONCAT関数が使えないExcelバージョン: Excel2013より以前のバージョン、及び通常版のExcel2016
  • CONCAT関数が使えるExcelバージョン: Excel2019以降のバージョン、及びOffice365(現Microsoft365)に収録されたExcel2016

CONCATが使えないExcelではCONCATENATE(コンカティネイト)関数で代替できます。

CONCATとCONCATENATE関数の違い

CONCATとCONCATENATEはどちらも文字列を結合させる関数ですが、CONCATは進化版なので使い勝手はCONCATENATEより優れています。

  • CONCATの引数は「テキスト1」…、CONCATENATEの引数は「文字列1」…です。
  • CONCATENATE関数の引数に指定できるのは文字列・数値・単一セルの参照です。連結させるセル範囲をまとめて指定できません。
  • CONCAT関数の引数には、まとまったセル範囲、配列の指定ができます。離れたセル範囲同士を連結させることが可能です。

CONCATENATEは現在関数ライブラリの「文字列操作」から「その他の関数」→「互換性」に移動しています。今後サポートが終了することも考えられますので、可能であればCONCATを使用することをお勧めします。CONCATを使う環境が整わない場合は結合演算子の&で文字列を連結させておいた方がリスク回避できると思われます。

演算子&で文字列を結合させる方法はこちらを参照して下さい

Excelで「文字列を結合する方法」を使い分ける

CONCAT関数の引数と書式

「数式」タブ→「関数ライブラリ」→「文字列操作」からCONCATを選択します。
関数ライブラリの「文字列操作」からCONCATを選択

COLUMN関数の引数は「テキスト1」「テキスト2」・・・で、「テキスト254」まで指定できます。

CONCAT関数の書式の構成はこうなります。
CONCAT関数の書式の構成

CONCAT関数の基本的な使い方

CONCAT関数の簡単な使用例で機能を確認しましょう。

オフィスの移転を通知する文章を以下の表のデータを結合させて組み立ててみます。
CONCAT関数でオフィスの移転通知の文章を作る元表

引数「テキスト1」最初の文字列

文章の出だしの文字列を指定します。この例では「当社は」と入力しました。入力後にTabキーを押すとダブルクォーテーションが自動で入ります。
CONCAT関数で結合する最初の文字列を指定

引数「テキスト2」日付のセル

移転の日付の入ったセルをクリックで指定します。(※この日付は予め文字列に変換してあります。日付データの入ったセルを参照するとシリアル値が返ります)
CONCAT関数で結合する移転日のセルを指定

引数「テキスト3」途中の文字列

スムーズな文章になるように、つなげる文字列を入力します。この例では「をもちまして、」と入力しました。入力後にTabキー。
CONCAT関数で結合する途中の文字列を指定

引数「テキスト4」住所の配列(セル範囲)

新住所1~3までのセル範囲(配列)をドラッグで指定します。
CONCAT関数で結合する新住所の配列をまとめて指定

引数「テキスト5」結びの文字列

文章の結びの文字列を入力します。この例では「へ移転致しました」と入力しました。入力後にTabキー。
CONCAT関数で結合する結びの文字列を指定

CONCAT関数を使った文字列の結合が以下のように表示されました。
CONCAT関数を使った文字列の結合

数式です。 =CONCAT(“当社は”,A2,“をもちまして、”,B2:D2,“へ移転致しました”)

CONCAT関数で複数の配列・セル範囲を結合する

複数のセル範囲・配列を一括で指定して、CONCAT関数で連結させる例を挙げておきます。

下図の「商品コード」「型番」「色コード」「個別番号」を連結させて「製品ID」を作成します。
CONCAT関数で複数の配列・セル範囲を結合するデータ表

CONCAT関数の引数「テキスト1」と「テキスト2」にそれぞれのセル範囲をドラッグで指定します。
CONCAT関数の引数「テキスト1」と「テキスト2」にセル範囲を指定

「製品ID」が連結されました。
CONCAT関数でセル範囲2つを結合して製品IDが連結された

CONCAT関数で日付を連結する

前々章では文字列に変換した日付セルを指定しました。実際の日付データのセルを参照するとシリアル値が返ってしまいます。
この例だと、「当社は44741をもちまして、東京都港区◯◯◯1-2-345□□□ビル 5Fへ移転致しました」と表示されます。

これを日付データのまま、見た目通りの表示で結合するにはTEXT関数の力を借ります。

TEXT関数は日付データに表示形式を適用した文字列を返します。この例では引数「値」にA2セル、「表示形式」に“yyyy年m月d日”と指定します。
TEXT関数で日付に表示形式を適用して取得

CONCAT関数の引数「テキスト2」に上記のTEXT関数をネスト(入れ子)します。CONCAT関数の引数ダイアログボックスの指定は以下のようになります。
TEXT関数をネストしたCONCAT関数の引数の指定

表示形式を適用した日付のまま、他の文字列と結合する数式は以下のようになります。
=CONCAT(“当社は”,TEXT(A2,”yyyy年m月d日”),”をもちまして、”,B2:D2,”へ移転致しました”)

TEXT関数で数値を価格などの表示形式に変換して文字列と連結させる方法も解説しています

TEXT関数の使い方|数値を書式記号で文字列に変換
TEXT(テキスト)関数は数値・日付・時刻などに指定した表示形式を適用し、文字列として返します。TEXT関数の使い方、表示形式のいろいろな指定方法、主な表示形式の一覧、TEXT関数を応用して文字列を連結させる方法などを分かりやすく解説します。

CONCAT関数に改行を指定して結合

結合させる文字列に改行を入れたい場合があると思います。

CONCAT関数の引数の一つにCHAR関数をネストして改行を結合します。CHAR関数は指定した文字コードに対応する文字を返します。改行の文字コードは10なので、CHAR(10)と入力します。CHAR(10)=改行は覚えておくと便利です。
CONCAT関数の引数に改行のCHAR(10)を入力

数式を確定させると、この時点では改行されていません。
CONCAT関数に改行を指定しても結合文字列に反映しない

連結した文字列の改行を表示に反映させるためには、「ホーム」タブの「配置」グループにある「折り返して全体を表示する」ボタンをクリックします。
「折り返して全体を表示する」ボタンをクリック

CONCAT関数で結合した文字列の改行が反映されました。
CONCAT関数で結合した文字列が改行された

スペースやカンマなどの区切り文字で文字列を連結する

区切り文字を挿入して文字列をつなげたいなら、CONCAT関数よりTEXTJOIN関数が便利です。スペースやカンマなどの区切り文字を指定して文字列を結合させることができます。

TEXTJOIN関数の使い方は以下の記事で詳しく解説しています

セル範囲の文字列を結合するならTEXTJOIN関数が超便利!
複数のセル範囲の文字列をつなげて表示させる。文字と文字をつなぐ区切り文字も自由に設定
CONCAT関数の使い方 まとめ
  • CONCATは文字列を結合する関数です
  • CONCATENATE(コンカティネイト)関数の後継としてExcel2016(Office365版)から登場しました
  • CONCATENATE関数との最も大きな違いは、CONCAT関数は引数に複数のセル範囲・配列を指定して連結できる点です
  • CONCAT関数で日付を結合するにはTEXT関数をネストして表示形式を適用した文字列に変換します
  • CONCAT関数で改行を入れて文字列をつなげるには、改行を表示するCHAR(10)を引数にネストします
  • スペースやカンマなどの区切り文字で文字列を連結するなら、CONCATよりTEXTJOIN関数を使います
タイトルとURLをコピーしました