指定の区切り文字を使ってセルの値を結合する
今回は、セル内の文字列を「特定の文字列を間に入れて結合する」TEXTJOIN関数を紹介します。
名字と名前が別々のセルにあったり、電話番号の市外局番と市内局番と加入者番号が別のセルにあったりする場合結合する時に、スペースを入れて結合したり、ハイフンを入れて結合したかったりした場合に便利に使えます。
TEXTJOIN関数
それでは早速使い方を見ていきます。
= TEXTJOIN(“区切り文字”, 空セル指定, 文字列1, [文字列2, 文字列3……..])
区切り文字:空の文字列、または二重引用符で囲まれた 1 つ以上の文字、または有効なテキスト文字列への参照を指定します。これで区切るぞってやつです。
空セル指定:ヘルプでは、「ignore_empty」と書かれていますね。空のセルを無視するかどうかです。TRUEの場合、空のセルは無視されます。
文字列1:結合したい文字列や、セル範囲の参照を入れます。別の関数で導き出した配列でもOKです![文字列2, 文字列3……..]とあるように、「,」カンマで区切ることで沢山繋げられます。
それでは実際にやってみましょう。
サンプルとして次のデータを使います。

名字と名前が別セルの列に格納されているデータと、電話番号の市外局番と市内局番、加入者番号が別々になっているデータです。
よくある感じですね。
名前の方はC列に、電話番号の方は、D列にTEXTJOIN関数で結合したデータを表示させましょう。
まずは、名前の方です。
よくあるパターンとしては「 」半角スペースで結合するパターンですかね。
次の数式をC2セルに入力します。
=TEXTJOIN(” “,TRUE,A2:B2)
区切り文字は、半角スペース「” “」が指定してあります。空セルは無視のTRUE指定です。

Enterを押して確定すると、半角すペースが入った状態で結合されていることが分かります。

下までコピーしましょう。

おんなじですが、電話番号もやってみましょう。
今度はD9セルに次の数式を入力して下さい。
=TEXTJOIN(“-“,TRUE,A9:C9)
結合文字列は、電話番号なので「-」ハイフンでつなぐことが多いかと思うのでハイフンにしました。
結合のセル範囲は、A9:C9にしています。このように3つ以上の範囲でも大丈夫です。

Enterで決定してコピーまで一気にやります。

セルの範囲が連続していない場合などは、カンマで区切ってつないでも同じ結果が出ます。

決定してコピーすると、きちんと結合されていることが分かりますね。

それこそ、空セルを無視の引数がTRUEになってるんで、そのまま範囲指定しても結果でます(^o^)
E15セルに次の数式を入れます。
=TEXTJOIN(“-“,TRUE,A15:D15)

出ました。

ちなみに、空セルの引数を無視しないFALSEにすると、次のような結果になります。
E16セルに次の数式をいれましょう。
=TEXTJOIN(“-“,FALSE,A16:D16)


空セルを無視してくれないので、ハイフン記号が被ってしまってるところが出てますね。
まとめ
TEXTJOIN関数を紹介しました。結合文字列の数が少ない場合は、
=A2&” “&B2
みたいな感じで結合しても同じですが、結合文字列の数が増えてくると面倒なので使えるんじゃないかと思います!
コメント