本ページには広告が含まれています。

CONCAT 関数 文字列の連結をセル範囲で指定できる

CONCAT関数 文字列の連結をセル範囲で指定できる

CONCAT関数はセル内の文字列を結合する関数です。従来のCONCATENATE関数の機能が拡張されセル範囲を指定して結合できるようになりました。

スポンサーリンク

はじめに

くるみこ
くるみこ

CONCAT 関数も Excel 2019で追加された関数です。サブスクリプション版の「Microsoft 365」アプリの「Excel for Microsoft 365」と永続ライセンス版ではExcel 2019以降で使用できる関数です。

新しい文字列関数ですね。よろしくお願いしますm(__)m

【この記事でわかることは】
・CONCAT 関数の使い方がわかります
・CONCATENATE関数との違いがわかります

関数の構文を確認します

CONCAT 関数入力時に表示される「数式オートコンプリート」から確認します。
※対応していないExcelバージョンでは「オートコンプリート」にこの関数が表示されません。

CONCAT 関数の構文

CONCAT関数入力時のオートコンプリート

HELPに書いてある説明文がこちらです。

CONCATNATE関数がCONCAT関数の下位互換であることの説明表示

表示される引数の表示画像がこちらです。

CONCAT関数の数式オートコンプリート

=CONCAT(テキスト1, …) 
※ CONCATENATE関数の書式: CONCATENATE(文字列1 [文字列2], …)

【構文】

=CONCAT(テキスト1[, テキスト2, …])
 ※[ ]内の引数は省略可能です。赤太字部分は必須部分の引数です。

引数を詳しく見てみます。

引数内容
テキスト1
【必須】
結合するテキストを文字列またはセル範囲で指定します
[テキスト2, …]
[省略可能]
結合追加するテキストを文字列またはセル範囲などで指定します
※ テキスト引数は、最大 253 まで設定可能です
※ 結果の文字列が 32767文字(セルの上限)を超えると #VALUE! エラーを返します

CONCATENATE関数の結合は 最大 255 まで、結果の文字列は 8192文字でした。
最大数は減っていますが、結果の文字列は増えています。

CONCAT 関数の使用例

それでは使用例で見ていきましょう。

単純に文字列を結合する基本的な例

列に分割されている住所データ一覧(A~D列)から連結して住所データを(F列に)作ります。

CONCAT関数で単純に文字列を結合する例
F列に入力されている数式はFOMULATEXT関数でG列に表示するようにしています。

・F2セルは「=CONCAT(A2:D2)」はA2からD2セルの各テキストを連結して表示しています。
・F3セルは従来の関数で「=CONCATNATE(A2,B2,C2,D2)」同じ結果を表示しています。
・さらに、F4セルは関数は使わずに「=A2&B2&C2&D2)」アンパサンド「&」演算子で繋ぎ同じ結果を表示させてみました。

連続しているセル範囲を指定するなら CONCAT関数 が一番効率的ですね。
F3セルのCONCATNATE関数は 「=CONCAT(A2,B2,C2,D2)」でも同じ結果です。

複数の行列を指定する

CONCAT関数で複数範囲の文字列を結合する例

・2行目「=CONCAT(A2:C3)」は2行3列の複数セル指定です。この場合の結合順は、行を列(右)方向に文字列を結合し、続いて次の行も同様に連結していきます。

・3行目「=CONCAT(A2:A3,B2:B3,C2:C3)」のように分割指定すれば、列ごとに縦方向に複数行の文字列を結合し、続いて次の列を結合・連結していきくことができます。

指定したセル範囲内に空白セルがあった場合の例

CONCAT 関数で指定したセル範囲内に「空欄」のセルがあった場合どうなるのでしょうか。
連結する際に「空欄」や「記号」などを間に挟みたい場合はどうするのでしょうか。

CONCAT関数で空白セルがあった場合の例
※ D列に入力されている数式はFOMULATEXT関数でE列に表示するようにしています。

・2行目は「=CONCAT(A2:B2)」と単純に「姓」「名」を連結しています。
・3行目は「=CONCAT(A3,” “,B3)」「姓」と「名」の間に「空白」を追加しています。
・4行目のD4セルでは「=CONCAT(A4:A6,B4:B6)」として範囲内に A5セルの記号「.」と
 A6,B5,B6の「空白セル」を含めて指定しています。結果は「.」が追加されました。

・範囲内の途中に空欄セルがあった場合は無視して(というより空欄も)連結します。
・「空白」や「記号」「文字列」などを連結間に追加する場合の指定方法は、数式内に「,”記号や空白”,」のように直接記述する方法とセル番地で指定する方法が使えます。

連結するテキスト間に空白や記号を追加する方法

前項で「空白」と「記号」を追加した例も入っていましたが、少しわかりずらかったと思いますので次の例もご覧ください。

CONCAT関数でテキスト間に空白や記号を追加する例
※ E列に入力されている数式はFOMULATEXT関数でF列に表示するようにしています。

よくある電話番号の結合例です。
・2行目は「=CONCAT(A2:C2)」はA2からC2セルのテキストを単純に連結しています。
・3行目は「=CONCAT(A3,”-“,B3,”-“,C3)」でハイフンを使って連結しています。
・4行目の「=CONCAT(A4,D4,B4,D4,C4)」は、3行目と同じくハイフンを使った連結ですが「D列」を「記号」列に設定して参照するようにしています。

4行目の例のようにセル参照で「記号」などを指定する方法にしておくことで、参照セルのデータを変更するだけでOKになります。
※直接記述する方法の場合、すべての数式を変更しなくてはいけません!

まとめ(おわりに)

以上、CONCAT 関数 について、使用例を提示して解説しました。

くるみこ
くるみこ

CONCAT 関数ではセル範囲で指定できるので、範囲内文字列の連結方向と区切り文字や記号などの指定方法をしっかり覚えておきましょう。

たくさんの文字列を連結する場合にはすごく効率化できて便利ですね。

★★★ ブログランキング参加中! クリックしてね(^^)/ ★★★

【今後の記事について】

今回の記事はいかがだったでしょうか。皆さまのお役に立てたなら幸いです(^^;
「汎用でだれでも使えて活用できるように考えてる」というポリシーで、記事を継続して書いていきたいと思っています。どうぞよろしくお願いしますm(_ _)m

スポンサーリンク
スポンサーリンク

過去記事のサンプルファイルをダウンロードできます

この記事で使用したサンプルの登録はありません。
過去の記事で使用したサンプルファイルをダウンロードできるようにページを設置していますので、こちら(このリンク先)からご利用ください