セル範囲の文字列を結合するならTEXTJOIN関数が超便利!
使用関数:TEXTJOINExcel:2016~
Excel2016から新たに加わった「TEXTJOIN関数」を使うと、「CONCATENATE関数」ではできなかった複数のセル範囲の文字列をつなげて表示させることができます。文字と文字をつなぐ区切り文字も自由に設定でき、数式も短くなって便利です。
「TEXTJOIN関数」で表の文字を丸ごと一挙表示
TEXTJOIN関数の設定を下図の表で実行してみます。
赤枠で囲った範囲の文字を連結。
結果を表示させるセルを選択して、「「数式」タブ「関数ライブラリ」の「文字列の操作▼」をクリックし、一覧から「TEXTJOIN」をクリック。
「関数の引数」ダイアログボックスが開いたら、最初に「区切り文字」を設定します。ここはとりあえず「-ハイフン」にしておきましょう。
次の引数「空のセルは無視」の欄には「TRUE」か「FALSE」を入れます。表には空のセルがあるので、ここは「1」を入力して「TRUE」を指定。(「FALSE」は「0」)
続いて、「テキスト1」の欄にカーソルを置いて、セル範囲をドラッグして指定します。
「OK」すると、セルにハイフンで連結された文字列が表示されます。この数式は「=TEXTJOIN("–",TRUE,A2:C4)」となります。
区切り文字の種類と各文字列ごとに異なる区切りを入れる効率よい設定方法
「区切り文字」には日本語も使えますし、空欄のままにすれば区切り無しで文字が連結されます。長めの文字列を入れて、自然な文章になるよう工夫することもできます。
連結させる文字列ごとに「区切り文字」を変えて表示させるには、「区切り文字」をあらかじめ列のセルに入力しておきます。
A列の区切り文字を「のパスタに」、B列の区切り文字を「サラダと」、C列の区切り文字を「スープが付いて」と入力。ダイアログボックスの「区切り文字」の引数欄にこの範囲を指定します。
これで、A列にある文字列の後には「のパスタに」と続き、B列の文字列の後には「サラダと」と続くことになるわけです。
飛び飛びの位置にあるセル範囲の文字列をつなげる
ここで、まとまったセル範囲ではなく、飛び飛びにある複数のセルを選択して、その文字列を連結してみましょう。
「空のセルは無視」は「FALSE」にして、「テキスト1」の欄にカーソルを置いて、つなげたいセルをControlキーを押しながらクリックしていきます。
「テキスト2」に移ると、「テキスト1」の結果が「#VALUE!」エラーになりますが、無視して続けます。
「テキスト2」には価格の数字を表示形式を変えて入れたいので、「TEXT関数」を使います。名前ボックスから「TEXT」を選び、ダイアログボックスが開いたら、以下のように設定。▶「TEXT関数」の設定について詳しく
「OK」すると、連結された文章が「ボロネーゼのパスタに和風サラダとポタージュスープが付いて¥1,450」と表示されました。
数式は「=TEXTJOIN(A6:C6,0,A4,B2,C2,TEXT(F3,"\#,##0"))」
引数のテキストのセル指定を変えるか、数式を「=TEXTJOIN(A6:C6,0,A3,B4,C3,TEXT(F2,"\#,##0"))」と変えれば、「ボンゴレビアンコのパスタにシーザーサラダとコンソメスープが付いて¥1,250」という表示になるわけです。