こんにちは。
@OfficeTAKUです。
Excel 365 、Excel 2019 から追加された関数の一つ、TEXTJOIN関数。
MOS (Microsoft Office Specialist) 一般レベルの出題範囲にも含まれています。
※ サブスクリプション版 Office365ProPlus の Excel2016 では利用できるようです。
サブスクリプション:Microsoft 365 for business
- Microsoft Excel for Mac バージョン16.50
- Microsoft Excel for Microsoft 365 MSO 16.0
目次
TEXTJOIN関数
文字やセルに入力された文字列を結合する方法としては、
アンパサンド(&記号)や、CONCAT関数、CONCATNATE関数が利用できます。
それらと違い、このTEXTJOIN関数では区切り文字を指定することができるのが特徴。
配列(複数のセル)での指定もできるため、うまく使えば便利ではあります。
書式は下記の通り
【TEXTJOIN関数】
=TEXTJOIN(区切り記号、ignore_empty、文字列 1, [文字列 2],…)
第2引数、ignore_empty とは、空白セルを無視するかしないかです。
TRUEを指定すると無視、FALSEを指定すると空白として扱われます
TEXTJOIN関数で区切り文字にコロンを指定してテキストを結合する数式
下図のような書籍のデータを利用して、セルA1〜D1にかけて入力されている、著者名、書名などをコロン(:)で区切りテキストを結合させます。
【数式:セルF1】
=TEXTJOIN(“:”,TRUE,A1:D1)
今回は空白セルがありませんので、第2引数はTRUEでもFALSEでも結果は同じになります。
完成例
第2引数 TRUEとFALSEの違い
わざと空白セルを作り第2引数でTRUEとFALSEの違いを確認してみましょう。
1行目と2行目は「TRUE」、3行目と4行目は「FALSE」を指定しています。
=TEXTJOIN(“:”,TRUE,A1:D1)
=TEXTJOIN(“:”,TRUE,A2:D2)
=TEXTJOIN(“:”,FALSE,A3:D3)
=TEXTJOIN(“:”,FALSE,A4:D4)
1行目と3行目は空白がないので、TRUEでもFALSEでも違いはありません。
2行目は「TRUE」を指定しているので書名の後にコロン1つで区切られすぐに出版年がきています。
4行目は「FALSE」を指定しれいるので書名の後に空白のセル分のコロンも入るため2つコロンが入っています。
TEXTJOIN関数で区切り文字を配列で指定してテキストを結合する数式
同じデータですが、6行目 セルA6〜D6に区切り文字となる記号を入力し、その範囲を区切り文字として指定して全てのテキストを結合してみます。
使用する区切り文字は、
セルA6 「(カギ括弧のはじまり)
セルB6 」(カギ括弧おわり)
セルC6 ((括弧はじまり)
セルD6 ),(括弧おわり と カンマ)
また、最後まで区切り文字を表示するために、
セルA5 には、スペースを入力しています。
【数式:セルF1】
=TEXTJOIN(A6:D6,TRUE,A1:D5)
ここでのポイントは第3引数のセル範囲を次の行まで、今回の場合は5行目まで指定する、ということです。
セル範囲をA1:D4までにしてしまうと、最後のデータ「2017」の後に「),」が入りません。
まとめ
Excel 365,2019で追加された TEXTJOIN 関数
すぐにはこんな場面で便利!とは思いつかないかも知れませんが、使い方さえ理解していれば、いずれ役に立つことがあるはずです。
MOSの試験範囲にも含まれているので、ぜひ使ってみてください。