TEXTJOIN関数は、複数の文字列を指定した区切り文字で連結できる強力な関数です。CONCATENATE関数では実現しにくかった、区切り文字の挿入や空白セルの無視が簡単に行えます。この記事では、TEXTJOIN関数の基本的な使い方から、CONCATENATEとの違いまでを詳しく解説します。
【要点】TEXTJOIN関数はCONCATENATEより柔軟な文字列連結が可能
- =TEXTJOIN(区切り文字, 空セルの処理, 範囲1, 範囲2, …): 区切り文字を指定して複数セルを連結します。第2引数で空白セルを無視するかどうかを制御できます。
- CONCATENATE関数: セルを単純に連結しますが、区切り文字の自動挿入や空白セルのスキップはできません。手作業で区切り文字を追加する必要があります。
- TEXTJOINのメリット: 区切り文字を一度指定するだけで、すべての連結箇所に自動的に挿入されます。空白セルを無視することで、余計な区切り文字が連続するのを防げます。
ADVERTISEMENT
目次
TEXTJOIN関数とCONCATENATE関数の基本仕様
TEXTJOIN関数の構文は「=TEXTJOIN(区切り文字, 空セルの処理, 文字列1, [文字列2, …])」です。第1引数に区切り文字を指定し、第2引数には空白セルを無視するかどうかをTRUEまたはFALSEで指定します。TRUEを指定すると、空白のセルをスキップして連結します。第3引数以降に連結したいセルや文字列を指定します。CONCATENATE関数の構文は「=CONCATENATE(文字列1, [文字列2, …])」で、単純に文字列をつなげます。区切り文字を挿入するには、引数に「、」や「/」などの文字列を含める必要があります。
例えば、A1に「りんご」、B1に「みかん」、C1に「バナナ」と入力されている場合、=CONCATENATE(A1, “、”, B1, “、”, C1)とすると「りんご、みかん、バナナ」となります。一方、TEXTJOINでは=TEXTJOIN(“、”, TRUE, A1:C1)と書くだけで同じ結果が得られます。しかも、B1が空白の場合、TEXTJOINでは「りんご、バナナ」と空白をスキップしますが、CONCATENATEでは「りんご、、バナナ」と区切り文字が2つ連続してしまいます。このような場合、TEXTJOINのほうが柔軟に対応できます。
また、TEXTJOINは第2引数にFALSEを指定すると空白セルもそのまま連結するため、CONCATENATEと同じ動作をさせることも可能です。用途に応じて使い分けると良いでしょう。
TEXTJOIN関数の具体的な使用手順
- 関数の入力場所を決める
TEXTJOIN関数の結果を表示したいセルを選択します。 - 「=TEXTJOIN(」と入力する
半角で「=TEXTJOIN(」と入力します。Googleスプレッドシートが数式の候補を表示しますので、そのままTabキーで選択しても構いません。 - 第1引数に区切り文字を指定する
ダブルクォーテーションで囲んで区切り文字を指定します。例えば「,」や「 / 」などです。 - 第2引数に空セルの処理を指定する
空白セルを無視する場合はTRUE、無視しない場合はFALSEと入力します。通常はTRUEを指定すると便利です。 - 第3引数以降に連結範囲を指定する
連結したいセル範囲をドラッグして指定します。複数範囲を指定する場合はカンマで区切ります。最後に閉じ括弧「)」を入力してEnterキーを押します。
具体例として、A1からE1に「東京」「大阪」「名古屋」「福岡」「札幌」が入力されている場合、=TEXTJOIN(“、”, TRUE, A1:E1)と入力すると「東京、大阪、名古屋、福岡、札幌」と連結されます。もしB1が空白なら「東京、名古屋、福岡、札幌」となります。
CONCATENATEではできないTEXTJOINの便利な機能
区切り文字を自動挿入できる
CONCATENATEでは、引数ごとに区切り文字を手動で指定する必要があります。例えば、セルA1、B1、C1を「/」で連結する場合、=CONCATENATE(A1, “/”, B1, “/”, C1)としなければなりません。TEXTJOINでは=TEXTJOIN(“/”, TRUE, A1:C1)だけで済みます。範囲が大きくなればなるほど、TEXTJOINのほうが簡潔に記述できます。
空白セルを無視できる
TEXTJOINの第2引数にTRUEを指定すると、空白のセルをスキップして連結します。これにより、余計な区切り文字が連続するのを防げます。CONCATENATEでは空白セルもそのまま連結されるため、意図しない区切り文字の重複が発生しやすくなります。
範囲を直接指定できる
TEXTJOINではセル範囲を直接指定できるため、複数のセルを一つずつ引数に指定する手間が省けます。CONCATENATEは単一セルごとに引数が必要なため、範囲が広いと数式が長くなります。また、TEXTJOINは配列数式にも対応しているため、条件に合うセルのみを連結するといった高度な使い方も可能です。
他の関数との組み合わせ例
TEXTJOINはFILTER関数やQUERY関数と組み合わせると非常に便利です。例えば、=TEXTJOIN(“, “, TRUE, FILTER(A1:A10, B1:B10=”完了”))とすることで、条件を満たすセルのみを連結できます。CONCATENATEではこのような処理は難しいため、TEXTJOINの強みが発揮されます。
ADVERTISEMENT
TEXTJOINとCONCATENATEの比較表
| 機能 | TEXTJOIN | CONCATENATE |
|---|---|---|
| 区切り文字の自動挿入 | 可能。第1引数で指定 | 不可能。手動で挿入 |
| 空白セルの無視 | 可能。第2引数で制御 | 不可能。空白もそのまま連結 |
| 範囲指定の可否 | 可能。範囲を直接指定 | 不可能。個別のセル指定が必要 |
| 最大引数数 | 最大50個の引数 | 最大255個の引数 |
| 文字数制限 | 結果の文字数に制限なし | 結果の文字数に制限なし |
まとめ
TEXTJOIN関数は、CONCATENATE関数よりも柔軟で効率的に文字列を連結できます。区切り文字の自動挿入や空白セルのスキップ機能により、数式が簡潔になり、メンテナンスも容易です。特に大量のデータを連結する場合や、データに空白が含まれる可能性がある場合には、TEXTJOINの使用をおすすめします。ぜひ、TEXTJOIN関数を活用して、スプレッドシートの作業を効率化してください。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】複合グラフで棒と折れ線を同時表示!2軸グラフの作り方
- 【Googleスプレッドシート】FILTER関数で条件に合う行だけ抽出!数式1つで動的な絞り込み
- 【Googleスプレッドシート】フィルタ表示で他の人の表示を変えずに絞り込み!共有時の使い分け
- 【Googleスプレッドシート】重複データを抽出して表示!COUNTIFと条件付き書式の併用
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】ARRAYFORMULAで列全体に数式を一括適用!セル分の入力を不要に
- 【Googleスプレッドシート】データ範囲を動的に伸縮させる!INDIRECTと参照範囲のコツ
- 【Googleスプレッドシート】共有解除と権限の取り消し!アクセスを完全に閉じる手順
