文字列入門
TEXTJOIN関数を見て理解する
複数の文字列やセル範囲を、指定した区切り文字を挟んでひとつの文字列に結合する関数です。
3つのポイント
- 結合するセル範囲を確認する
- 区切り文字と空白の扱いを確認する
- 結合したひとつの文字列を返す
空白を除いて区切り文字でまとめる
サンプル数式
- 区切り文字
- 空白を無視する
- 結合する文字列
いまの結果:
先頭行:
入力・条件:3項目
- 区切り文字A5:「|」
- 空白を無視するB5:TRUE
- 結合する文字列A2:C3(2行 × 3列)先頭行:「赤」 | 「青」 | 「緑」
空白セルと空文字列を除いて、区切り文字「|」で引数の順に結合します。範囲は左から右、上から下へ読み、結果「赤|青|緑|10|京都」をC5に表示します。
サンプルデータ
※ Excel と Google スプレッドシートで結果や挙動が異なる場合、Excel の仕様を基準にしています。
| A | B | C | |
|---|---|---|---|
| 1 | 文字列1 | 文字列2 | 文字列3 |
| 2 | |||
| 3 | |||
| 4 | 区切り文字 | 空白を無視する | 結果 |
| 5 | 赤|青|緑|10|京都 |
A5、B5、A2、B2、C2、A3、B3、C3に値を入力すると、結果と処理順が変わります。
3つの引数
色付きの丸数字は、サンプル数式と引数ガイドで同じ引数を示しています。表にも同じ番号があれば、その引数で指定しているセルを示します。
A5表のセル: A5文字列の間に挟む文字です。空にすると区切りを加えません。
B5表のセル: B5TRUEなら空白セルと空文字列を除き、FALSEならその位置も残します。
A2:C3表のセル: A2:C3左から右、上から下の順に結合するセル範囲です。範囲内の各セルを編集できます。
この数式を日本語にすると
A2:C3を左から右、上から下へ読み、空白セルを除いて「|」で区切り、ひとつの文字列としてC5に表示します。
この説明は、最初に表示されているサンプルデータをもとにしています。入力値を変更しても説明文は変わりません。
処理の流れ
手順1〜4を順番に確認しましょう。表内の小さな角丸数字は、対応する手順を示します。
区切り文字を確認する
A5区切り文字: 「|」。
空白を無視するを確認する
B5空白セルと空文字列を無視します。
結合する文字列を確認する
A2B2C2A3B3C3結合する文字列: 「赤」、「青」、「緑」、「10」、空白セル、「京都」。左から右、上から下の順です。
文字列を結合する
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], ...)公式資料・確認範囲
公式資料
- Microsoft Excel 公式構文
- Google スプレッドシート 公式対応状況・構文
実機確認
- Excel 2021 / Google スプレッドシート計算結果・入力の扱い・エラーを確認済み
未確認
配列展開
次に学ぶ関数
TEXTBEFORE
区切り文字を挟んで結合する方法を学んだら、TEXTBEFOREで区切り文字より前の部分を取り出してみましょう。
次に学ぶ