2023年5月24日【ID:0】
【Excel】複数のセルを異なる区切り文字で文字結合
TEXTJOIN関数を活用することによって、以下のように、セル範囲の値を「,」と「;」で文字結合することができます。
まずは、簡単な文字結合から確認していきます。
TEXTJOIN関数は以下のような使い方になります。
=TEXTJOIN(区切り文字, 空白のセルは無視, テキスト1, [テキスト2], [テキスト3], …)
// 区切り文字を指定して指定テキストを結合する
引数[区切り文字]を直接指定する場合は、「"(ダブルクォーテーション)」で囲みます。
引数[空白のセルは無視]に関して、「TRUEを指定した場合」と「FALSEを指定した場合」の違いは以下のようになります。
=TEXTJOIN("・",TRUE,C3:K3)
=TEXTJOIN("・",FALSE,C3:K3)
TRUEの場合は、空白セルが無視されるようになっています。
引数[テキスト]に関しては、離れているセルの場合は、「,(カンマ)」区切りで入力し、連続しているセルの場合は、範囲指定で入力できます。
複数の範囲がある場合の違いは以下のようになります。
複数の行列を含む範囲の場合は、列方向が優先して結合されます。
=TEXTJOIN("・",FALSE,B3:E5)
=TEXTJOIN("・",FALSE,B3:E3,B4:E4,B5:E5)
=TEXTJOIN("・",FALSE,B3:B5,C3:C5,D3:D5,E3:E5)
では、一定間隔で異なる区切り文字を設定する方法について解説していきます。
その方法は、引数[区切り文字]に関して配列で渡すという方法です。
例えば、以下のように「・」と「(空白)」を繰り返したい順番に「{}」の中で指定します。
区切り文字は全て「"」で囲む必要があります。
また、区切り文字と区切り文字は「,」で区切ります。
=TEXTJOIN({"・","・"," "},FALSE,C3:K3)
このように、指定の順番に異なる区切り文字で区切ることができました。
さらに応用すると以下のようにも使えます。
=TEXTJOIN({",",",",",",";"},FALSE,B3:E5)
若干分かりづらいですが、「,」という文字を3つと、「;」の計4つの区切り文字を「,」で区切って指定しています。
{",",",",",",";"} → {"," , "," , "," , ";"}