【エクセル時短】は「少しでも早く仕事を終わらせたい!」というビジネスパーソンのみなさんに、Excelの作業効率をアップするワザをお届けする連載です。毎週木曜日更新。
注目・最新の記事一覧
連結したい文字列をセル範囲でまとめて指定
「Excel 2019特集」の第4弾となる【エクセル時短】第99回では、新関数のTEXTJOIN(テキストジョイン)関数とCONCAT(コンカット)関数を紹介します。
この2つの関数は、前々回に紹介したSWITCH(スイッチ)関数と同様、Excel 2019とOffice 365版のExcelで利用できる新しい関数です。
いずれも文字列を連結する関数で、Excel 2016以前のバージョンで使えるCONCATENATE(コンカティネート)関数と似た働きをするのですが、新関数のほうが、いろいろと便利になっています。旧バージョンへの対処法も含めて、何が新しいのかを見ていきましょう。
TEXTJOIN関数
「/」などの区切り文字を挟みたいときに便利
文字列を連結するとき、区切り文字を挟みたいシーンがありますよね。URLなら「/」(スラッシュ)、電話番号や郵便番号なら「-」(ハイフン)などです。単純に「,」(カンマ)やスペースで区切りたいこともあるでしょう。
そんなときに便利なのがTEXTJOIN関数です。構文は以下の通り。
TEXTJOIN
(区切り記号, 空の文字列を無視, 文字列1, 文字列2, ..., 文字列252)
引数[区切り記号]には、連結する文字列に挟みたい区切り文字を指定します。この引数を1回指定するだけで、区切り文字を繰り返し挿入できるのが、TEXTJOIN関数のメリットです。
[空の文字列を無視]は、論理値(TRUEまたはFALSE)で指定します。次の引数[文字列]に空の文字列がある場合、TRUEはそれを無視し、区切り記号を挿入しません。FALSEは空の文字列も連結し、区切り記号を挿入します。
[文字列]は連結する文字列、もしくは文字列が入力されているセルを指定します。「B3:B5」のようにセル範囲を指定することも可能です。ここでは「/」を区切り文字として、TEXTJOIN関数でURLを生成する例を見ていきます。
1TEXTJOIN関数を入力する
セルB3〜B5には、ディレクトリを表す文字列が入力してあります。セルC8の関数式は以下の通り。URLなので空白のセルは無視し、連結する文字列はセル範囲で指定しました。絶対参照にしているのは、オートフィルをしたときにURLの共通部分のセル参照がズレないようにするためです。
=TEXTJOIN("/",TRUE,$B$3:$B$5,A8)
2TEXTJOIN関数の結果が表示された
「/」を挟み込んで文字列が連結されました。セルの参照元の値を変更すれば、ほかのリストにも流用できます。
CONCAT関数
セル範囲を指定して一気に連結できる
続いて、CONCAT関数で同様のリストを作ってみましょう。構文は以下の通りです。
CONCAT
(文字列1,文字列2,・・・,文字列253)
引数[文字列]には連結する文字列、もしくはセル範囲を253個まで指定できます。TEXJOIN関数よりも、シンプルでわかりやすいですね。
ただ、区切り文字は挿入できないので、先ほどの例と同じことをCONCAT関数で行うには工夫が必要です。以下で見ていきましょう。
1CONCAT関数を入力する
セルB3〜B5には、ディレクトリを表す文字列を「/」を含めて入力しました。セルC8には以下の関数式を入力します。
=CONCAT($B$3:$B$5,A8)
2CONCAT関数の結果が表示された
CONCAT関数の結果が表示されました。なお、参照元の文字列に「/」を含めたくない場合は、CONCAT関数の引数として「/」を直接指定します。以下のように「"」で囲った文字列として入力しましょう。
=CONCAT($B$3,"/",$B$4,"/",$B$5,"/",A8)
旧バージョン向けにはCONCATENATE関数を使う
TEXTJOIN関数とCONCAT関数の便利さがわかったと思いますが、これらを旧バージョンのExcelで使うと「#NAME?」エラーになってしまいます。ファイルを共有する相手のExcelのバージョンが分からない場合は、CONCATETANE関数か「&」演算子を使いましょう。
しかし、CONCATETANE関数では引数としてセル範囲を指定できません。先ほどと同じ結果を得るには、セルを1つずつ引数に指定していく必要があります。
CONCATETANE関数の式は以下の通り。連結する文字列をセル範囲でまとめて指定できるところが、TEXTJOIN関数とCONCAT関数の優れた点です。
=CONCATETANE($B$3,$B$4,$B$5,A9)
「&」演算子も同様に、以下のような式でセルを1つずつ連結していく形になります。
=$B$3&$B$4&$B$5&A10
以上、TEXTJOIN関数とCONCAT関数の使い方を解説しました。
文字列の連結時に区切り文字を挿入したいならTEXTJOIN関数、汎用的な連結にはCONCAT関数、旧バージョンも考慮するならCONCATETANE関数か「&」演算子、という使い分けになります。これらを覚えておけば、Excelでの文字列の連結は完璧です!
あわせて読みたい