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

TEXTJOIN 関数 文字列連結で区切り文字挿入するならこれ

TEXTJOIN関数 文字列連結で区切り文字挿入するならこれ

TEXTJOIN関数は、指定した「区切り文字」を挿入しながら複数のセル範囲や文字列のテキストを結合できます。区切り文字に空欄(“”)を指定した場合は範囲がそのまま連結されます。

スポンサーリンク

はじめに

くるみこ
くるみこ

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

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

【この記事でわかることは】
・TEXTJOIN 関数の使い方や活用方法がわかります

関数の構文を確認します

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

TEXTJOIN 関数の構文

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

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

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

=TEXTJOIN(区切り文字, 空のセルは無視, 文字列1, …) 

【構文】

=TEXTJOIN (区切り文字, 空のセルは無視, 文字列1, [文字列2, …, 文字列252])
 ※[ ]内の引数は省略可能です。赤太字部分は必須部分の引数です。

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

引数説明
区切り文字
【必須】
連結する文字列の間に挿入する「区切り文字」を指定します。
「区切り文字」は文字列のほか配列定数やセル範囲でも指定できます。
空のセルは無視
【必須】
TRUE の場合、空のセルは無視され「区切り文字」を挿入しません。
FALSEの場合、無視せずに「区切り文字」が挿入されます。(省略=TRUE)
文字列1
【必須】
結合する文字列を指定します。
文字列またはセル範囲などの文字列の配列を指定できます。
[文字列2, …,
文字列252]
[省略可能]
結合する追加の文字列を指定できます。
文字列の指定できる最大数は 252 です。
※ 結果の文字列が 32767文字(セルの上限)を超えると #VALUE! エラーを返します

TEXTJOIN 関数の使用例

それではいくつかの使用例を基本的なものから順番に見ていきましょう。

区切り文字を指定して連結する基本的な例

分割されている電話番号データ(A~C列)をハイフン「-」で連結してして表示します。

区切り文字を指定して連結する基本的な例
E列に入力されている数式はFOMULATEXT関数でF列に表示するようにしています。

・E2セルの「=TEXTJOIN(“-“,TRUE,A2:C2)」は区切り文字を “-” で指定しています。
・E3セル「=TEXTJOIN(D3,TRUE,A3:C3)」では区切り文字をD3セル参照で指定しています。

・E5セルの「=CONCAT(A5,”-“,B5,”-“,C5)」はCONCAT関数で同じ結果を表示させる例です。

3つの文字列の結合を TEXTJOIN関数 CONCAT関数 で比較してみました。
結合させる文字列が多くなるほど TEXTJOIN関数 が効率的なことがわかりますね。
また「区切り文字」に空の文字列(””)を指定した場合、文字列は単純に連結され CONCAT関数と同じ動作となります。

空白のセルは無視して連結出来る

引数「空白のセルは無視」に TRUE を指定した場合と、FALSE を指定した場合の違いです。

引数「空白のセルは無視」の指定例
※ E列に入力されている数式はFOMULATEXT関数でF列に表示するようにしています。

・E2セル「=TEXTJOIN(D2,TRUE,A2:C3)」の引数 TRUE では「空白セル」が無視されると同時に「区切り文字」も無視されて表示されません。
・E4セル「=TEXTJOIN(D4,FALSE,A4:C5)」の引数 FALSE では「区切り文字」が無視されず、「空白セル」の部分に表示されています。

FALSE を指定するケースはあまりないように感じます。
TRUE ならデータのあるセルだけを簡単に区切り文字で連結できるのですごく便利ですね。

異なる区切り文字を指定する例

「区切り文字」を区切る場所によって変更したい場合があります。次の例では、電話番号の局番部分をカッコ「()」で括っています。

TEXTJOINで異なる区切り文字を指定する例
※ E列に入力されている数式はFOMULATEXT関数でF列に表示するようにしています。

・E2セル「=TEXTJOIN(D2:D3,TRUE,A2:C2)」は「区切り文字」をセル範囲で指定しています。セル範囲=配列です。配列順に「区切り文字」を挿入していくので「(1098)」となります。
・E4セル「=TEXTJOIN({“(“,”)”},TRUE,A4:C4)」は「区切り文字」を”{}”で括りは配列定数にして指定しています。配列定数にしなければ #VALUE! エラーとなり指定できません。

区切り文字に「改行」を指定する方法

連結する文字列をセル内で「改行」したい場合があります。「区切り文字」に「改行」を指定する方法を知っておくと便利に使えそうです。
セル内の「改行」はCHAR関数で「改行」の文字コード(10)ラインフィードを使います。「CHAR(10)」を直接またはセル参照で「区切り文字」に指定します。
※セル書式設定で文字の制御が[折り返して全体を表示する]にされていないと反映されません。

区切り文字に「改行」を指定する方法
※ F列に入力されている数式はFOMULATEXT関数でG列に表示するようにしています。

氏名と電話番号を改行して結合している例です。
・F2セル「=TEXTJOIN(E2:E4,TRUE,A2:D2)」「区切り文字」E2:E4のE2セルにCHAR(10)を指定しています。
・F5セル「=CONCAT(A2,CHAR(10),B2,”(“,C2,”)”,D2)」はCONCAT関数を使ってCHAR(10)を式内に直接記述して指定した例です。

文字列を連結する前に、どのような結果を得たいのかイメージすることが大切です。
連結する範囲や「区切り文字」や「改行」など、必要に応じて使い分けましょう。
TEXTJOIN関数を使えば「区切り文字」を使った複数セル範囲の連結がかなり効率化できると思います。

まとめ(おわりに)

以上、TEXTJOIN 関数 について、使用例を使って解説しました。

くるみこ
くるみこ

TEXTJOIN 関数では「区切り文字」を効率的に指定できます。でも、事例で解説したように異なる「区切り文字」を指定するなどの場合は、少し工夫が必要ですので指定方法をしっかり覚えて練習しておきましょう。

「区切り文字」の指定ができるのはすごく効率化できて便利ですね。
いろいろな設定を考えながら練習しておくようにしま~す(^^♪

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

【今後の記事について】

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

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

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

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