ラベルラベル

文字列入門

TEXTJOIN関数を見て理解する

複数の文字列やセル範囲を、指定した区切り文字を挟んでひとつの文字列に結合する関数です。

3つのポイント

  1. 結合するセル範囲を確認する
  2. 区切り文字と空白の扱いを確認する
  3. 結合したひとつの文字列を返す
例題

空白を除いて区切り文字でまとめる

サンプル数式

  • 区切り文字
  • 空白を無視する
  • 結合する文字列

いまの結果:

赤|青|緑|10|京都
計算結果
結果セル:C5
入力・条件:3項目
  • 区切り文字A5:「|」
  • 空白を無視するB5:TRUE
  • 結合する文字列A2:C3(2行 × 3列)先頭行:「赤」 | 「青」 | 「緑」
この結果になる理由

空白セルと空文字列を除いて、区切り文字「|」で引数の順に結合します。範囲は左から右、上から下へ読み、結果「赤|青|緑|10|京都」をC5に表示します。

サンプルデータ

区切りや空白指定を変えてみよう

※ Excel と Google スプレッドシートで結果や挙動が異なる場合、Excel の仕様を基準にしています。

「空白を除いて区切り文字でまとめる」のサンプルデータ。引数番号は正式引数と教材要素の対応、小さな角丸数字は処理順を表します。
ABC
1文字列1文字列2文字列3
2
3
4区切り文字空白を無視する結果
5赤|青|緑|10|京都
区切り文字空白を無視する結合する文字列結果セル
①・②・③ 正式引数 / 教材要素1–4 処理の流れ

A5、B5、A2、B2、C2、A3、B3、C3に値を入力すると、結果と処理順が変わります。

3つの引数

色付きの丸数字は、サンプル数式と引数ガイドで同じ引数を示しています。表にも同じ番号があれば、その引数で指定しているセルを示します。

  1. A5表のセル: A5

    文字列の間に挟む文字です。空にすると区切りを加えません。

  2. B5表のセル: B5

    TRUEなら空白セルと空文字列を除き、FALSEならその位置も残します。

  3. A2:C3表のセル: A2:C3

    左から右、上から下の順に結合するセル範囲です。範囲内の各セルを編集できます。

この数式を日本語にすると

A2:C3を左から右、上から下へ読み、空白セルを除いて「|」で区切り、ひとつの文字列としてC5に表示します。

この説明は、最初に表示されているサンプルデータをもとにしています。入力値を変更しても説明文は変わりません。

処理の流れ

手順1〜4を順番に確認しましょう。表内の小さな角丸数字は、対応する手順を示します。

  1. 区切り文字を確認する

    A5

    区切り文字: 「|」。

  2. 空白を無視するを確認する

    B5

    空白セルと空文字列を無視します。

  3. 結合する文字列を確認する

    A2B2C2A3B3C3

    結合する文字列: 「赤」、「青」、「緑」、「10」、空白セル、「京都」。左から右、上から下の順です。

  4. 文字列を結合する

    C5

    空白セルと空文字列を除いて、区切り文字「|」で引数の順に結合します。範囲は左から右、上から下へ読み、結果「赤|青|緑|10|京都」をC5に表示します。

対応アプリ

  • Excel
  • Google スプレッドシート

関数自体が対応するアプリです。教材例の数式や再計算が、両アプリで同じように動くことを保証するものではありません。

この例の注意点

  • 範囲は左から右、上から下へ読み、複数の引数は数式に書いた順に結合します。
  • 数値は表示形式ではなく値を結合し、論理値はTRUE・FALSEという文字列になります。
  • 空白セルと空文字列は空白を無視する指定がTRUEなら除外し、FALSEなら残します。
  • セルで00123などを文字列として保持するには、先頭にアポストロフィを付けて入力します。'#N/Aは文字列、未引用の#N/Aは実Excelエラーです。
  • Excelの結合結果は32,767文字が上限です。省略引数・異なるエラーの優先順位・補助平面文字を含む上限付近の判定は未実測で対象外です。
  • ignore_emptyはTRUE/FALSEのほか、0はFALSE、実測した1・2・-2はTRUE相当、文字列TRUE/FALSEは大小文字を区別せず認識します。完全な空白セルはFALSE相当です。
  • 文字列の数字・余分な空白を含む文字列・空文字列はExcel 2021で#VALUE!。空文字列はGoogle スプレッドシートではFALSE相当になるという実測差があり、この教材はExcel準拠で表示します。
  • 区切り文字は単一値に限り、区切り文字の配列は対象外です。

一般構文

対応:Excel / Google スプレッドシート ・ 構文:構文は同じ

  • ignore_emptyに空文字列リテラル""または式で空文字列を返すセルを指定した場合、Excel 2021は#VALUE!、Google スプレッドシートはFALSE相当として空白要素を残します。実機比較2ケースで確認。

Excel

=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)

Google スプレッドシート

=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)
公式資料・確認範囲

実機確認

  • Excel 2021 / Google スプレッドシート計算結果・入力の扱い・エラーを確認済み

未確認

配列展開

次に学ぶ関数

TEXTBEFORE

区切り文字を挟んで結合する方法を学んだら、TEXTBEFOREで区切り文字より前の部分を取り出してみましょう。

次に学ぶ