ExcelのTEXTJOIN関数は、複数のセルや値を指定した区切り文字で結合する便利な関数です。従来の「&」記号や「CONCATENATE関数」では一つ一つのセルを指定して結合する必要がありましたが、TEXTJOIN関数では、一度に複数のセル範囲を指定でき、効率的にデータを結合できます。この記事では、TEXTJOIN関数の基本的な使い方から応用的な活用法までを詳しく解説します。
TEXTJOIN関数とは?
TEXTJOIN関数は、指定した区切り文字で複数のセルや値を結合する関数です。例えば、カンマやスペースで区切ったリストを一つの文字列として出力する際に非常に役立ちます。特徴的なのは、空白セルを無視するかどうかを指定できる点です。
TEXTJOIN関数の基本的な構文
=TEXTJOIN(区切り文字, 無視するかどうか, 範囲1, [範囲2], …)
- 区切り文字: 結合する各項目の間に挿入する文字列(例: カンマ「,」、スペース「 」など)。
- 無視するかどうか: 空白セルを無視するかどうかをTRUEまたはFALSEで指定します。TRUEなら空白セルを無視し、FALSEなら空白セルも含めて結合します。
- 範囲1, [範囲2], …: 結合するセルや範囲を指定します。複数の範囲や値を指定できます。
TEXTJOIN関数の動作イメージ
たとえば、セルA1、B1、C1にそれぞれ「Apple」「Banana」「Cherry」と入力されている場合、次のように入力します。
=TEXTJOIN(“, “, TRUE, A1:C1)
この場合、結果は**”Apple, Banana, Cherry”**となり、カンマで区切られた文字列が出力されます。
TEXTJOIN関数の実際の例
例えば、以下のようにTEXTJOIN関数を使って、複数の値を指定した区切り文字で結合することができます。
セル範囲 | 結合内容 | 結果 |
A1
(「Red」「Green」「Blue」) |
=TEXTJOIN(“, “, TRUE, A1
) |
“Red, Green, Blue” |
A1
(「Apple」「」「Cherry」) |
=TEXTJOIN(” / “, TRUE, A1
) |
“Apple / Cherry” |
A1
(空白あり) |
=TEXTJOIN(” / “, FALSE, A1
) |
“Apple / / Cherry” |
このように、TEXTJOIN関数を使うことで、セル範囲を指定して簡単に結合が可能です。また、空白を無視するかどうかの指定もできます。
区切り文字を指定しない場合
区切り文字を空白文字にすると、単にセルの値をそのまま連続して結合します。
=TEXTJOIN(“”, TRUE, A1:A3)
この場合、結果は**”RedGreenBlue”**となります。セルA1からA3までの値がそのまま連続して結合されます。
TEXTJOIN関数の応用例
複数の名前を一つのセルに結合
たとえば、A1からA3に「John」「Jane」「Doe」と入力されている場合、TEXTJOIN関数を使ってフルネームを一つのセルにまとめることができます。
=TEXTJOIN(” “, TRUE, A1:A3)
この数式では、スペースで区切られた「John Jane Doe」という結果が返されます。区切り文字をスペースに指定することで、フルネームを作成できます。
空白セルを無視してデータを結合
TEXTJOIN関数は、空白セルを無視することができるので、データの一部が欠けている場合でも柔軟に対応できます。たとえば、A1には「Apple」、A2は空白、A3には「Cherry」と入力されている場合、次のように設定します。
=TEXTJOIN(“, “, TRUE, A1:A3)
この数式では、結果として「Apple, Cherry」と返され、空白のA2は無視されます。
リストの作成
TEXTJOIN関数は、セル範囲を結合してリストを作成するのに便利です。たとえば、A列に製品名がリスト化されている場合、次のようにTEXTJOIN関数を使ってそれらを一つの文字列にまとめることができます。
=TEXTJOIN(“, “, TRUE, A1:A10)
この式では、A1からA10までのセル範囲に含まれる製品名がカンマで区切られてリスト化されます。
配列数式との組み合わせ
TEXTJOIN関数は、配列数式と組み合わせて強力なデータ処理が可能です。たとえば、特定の条件に一致する値だけを結合する場合、次のように配列数式を使います。
=TEXTJOIN(“, “, TRUE, IF(B1:B10 > 50, A1:A10, “”))
この数式では、列Bに50より大きい値がある場合に、対応する列Aの値をカンマで区切って結合します。条件に合致しない値は無視されます。
TEXTJOIN関数の便利な豆知識
空白セルを無視するオプション
TEXTJOIN関数では、空白セルを無視するかどうかを指定できます。空白セルを無視するには第2引数をTRUEに、空白も含める場合はFALSEに設定します。
=TEXTJOIN(“, “, TRUE, A1:A5) // 空白セルを無視
=TEXTJOIN(“, “, FALSE, A1:A5) // 空白セルも含む
区切り文字の使い方
区切り文字は、任意の文字を指定できます。カンマやスペース以外にも、改行や他の記号を使用することができます。たとえば、改行で区切りたい場合は、次のようにCHAR関数を使って改行コードを挿入できます。
=TEXTJOIN(CHAR(10), TRUE, A1:A5)
この数式では、結合された値が各セルごとに改行されます(Alt + Enterでセル内の改行表示が可能)。
セル参照とリテラル文字の混在
TEXTJOIN関数では、セル参照と文字列を同時に扱うことも可能です。たとえば、指定した範囲とリテラル文字を同時に結合することができます。
=TEXTJOIN(“, “, TRUE, A1, “と”, B1)
この場合、セルA1とセルB1の間に「と」が挿入されて結合されます。
TEXTJOIN関数のよくあるエラーと対処法
#VALUE!エラー
#VALUE!エラーは、TEXTJOIN関数に無効なデータ型や引数が指定された場合に発生します。たとえば、区切り文字に無効な値が指定されている場合や、範囲が正しくない場合にこのエラーが発生します。
=TEXTJOIN(10, TRUE, A1:A5) // 結果は#VALUE!エラー
区切り文字は数値ではなく、文字列を指定する必要があります。
#NAME?エラー
#NAME?エラーは、TEXTJOIN関数がExcelでサポートされていないバージョンで使用された場合に発生します。TEXTJOIN関数はExcel 2016以降で利用可能な関数です。それ以前のバージョンでは使用できないため、#NAME?エラーが発生します。
=TEXTJOIN(“, “, TRUE, A1:A5) // 結果は#NAME?エラー(古いバージョン)
まとめ
ExcelのTEXTJOIN関数は、複数のセルや値を指定した区切り文字で結合する非常に便利なツールです。データを効率的にまとめたり、条件に基づいて結合内容を動的に変更することも可能です。また、空白セルを無視するオプションや、配列数式との組み合わせにより、データ処理の柔軟性が格段に向上します。TEXTJOIN関数を使いこなして、Excelでの作業をさらに効率化しましょう。