エクセルで、範囲や配列の値をまとめて1つの文字列にするには ARRAYTOTEXT関数を使います。名前の列なら、=ARRAYTOTEXT(A3:A6) で 山田, 佐藤, 鈴木, 高橋 になります。
形式に 1 を指定すると「{“山田”;”佐藤”;…}」という配列の形の文字にでき、式の確認や、ほかの式に貼り付けるときに便利です。この記事では、ARRAYTOTEXT関数の基本、形式0と1の違い、行と列の区切りの読み方、TEXTJOIN関数との違い、条件に合う値だけをまとめる方法までを、1つの表で説明します。下の練習ツールで、値を書き換えて結果の変わり方を試せます。
ARRAYTOTEXT関数の書き方
| 形式 | 結果の形 | この表の例 |
|---|---|---|
| 0(省略時) | 「, 」(カンマと空白)で区切る | 山田, 佐藤, 鈴木, 高橋 |
| 1 | { } で囲み、列は「,」、行は「;」で区切る。文字は「”」で囲む | {“山田”;”佐藤”;”鈴木”;”高橋”} |
Microsoft 365・Excel 2021 以降で使えます。形式に 0・1 以外を指定すると #VALUE! エラーになります。
まず動かしてみよう|この記事のサンプルをその場で試せます
練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。
ARRAYTOTEXT関数の使い方|やりたいこと別の式
| やりたいこと | 式(例) | 結果 |
|---|---|---|
| 名前を1つの文字に | =ARRAYTOTEXT(A3:A6) | 山田, 佐藤, 鈴木, 高橋 |
| 配列の形(形式1) | =ARRAYTOTEXT(A3:A6,1) | {“山田”;”佐藤”;”鈴木”;”高橋”} |
| 点数を1つの文字に | =ARRAYTOTEXT(C3:C6) | 70, 85, 60, 75 |
| 点数を配列の形に | =ARRAYTOTEXT(C3:C6,1) | {70;85;60;75} |
| 2行3列を配列の形に | =ARRAYTOTEXT(A3:C4,1) | {“山田”,”A”,70;”佐藤”,”A”,85} |
| A組の名前だけ | =ARRAYTOTEXT(FILTER(A3:A6,B3:B6=”A”)) | 山田, 佐藤, 高橋 |

範囲を1つの文字にする
4人の名前が「, 」で区切られて 山田, 佐藤, 鈴木, 高橋 になります。数値の点数も =ARRAYTOTEXT(C3:C6) で 70, 85, 60, 75 です。横の1行分 =ARRAYTOTEXT(A3:C3) は 山田, A, 70 です。
▶ この式(F3)を、練習ツールで試す / この式(F5)を、練習ツールで試す / この式(F8)を、練習ツールで試す
形式1で配列の形にする
形式に 1 を指定すると、{“山田”;”佐藤”;”鈴木”;”高橋”} になります。文字は「”」で囲まれ、縦に並んだ値(行)は「;」で区切られます。数値は =ARRAYTOTEXT(C3:C6,1) で {70;85;60;75} と、「”」なしで並びます。
▶ この式(F4)を、練習ツールで試す / この式(F6)を、練習ツールで試す
行と列の区切りの読み方
2行3列の範囲は {“山田”,”A”,70;”佐藤”,”A”,85} です。同じ行の中は「,」、行の切れ目は「;」です。この形は、式の中に直接書く配列定数と同じ書き方なので、コピーしてほかの式に使えます。
TEXTJOIN関数との違い
TEXTJOIN関数で区切り文字を「, 」にすると、結果は同じ 山田, 佐藤, 鈴木, 高橋 です。区切り文字を自由に決めたい・空のセルを飛ばしたいときは TEXTJOIN関数、配列の形で確認したいときは ARRAYTOTEXT関数が便利です(TEXTJOIN関数の使い方)。
条件に合う値だけをまとめる(FILTER)
FILTER関数で A組だけを取り出してからまとめると、山田, 佐藤, 高橋 になります(FILTER関数の使い方)。
ARRAYTOTEXT関数がうまくいかないときの確認表
| 症状 | 考えられる原因 | 対処 |
|---|---|---|
| 「#NAME?」になる | Excel 2019 以前 | TEXTJOIN関数(2019以降)を使う。 |
| 「#VALUE!」になる | 形式に 0・1 以外を指定した | 0 か 1 を指定する。 |
| 「, , 」のように空が並ぶ | 範囲に空のセルがある | 空のセルを飛ばすなら TEXTJOIN関数(空白を無視=TRUE)を使う。 |
ARRAYTOTEXT関数のよくある質問
1つの値だけを文字にするには?
VALUETOTEXT関数を使います(VALUETOTEXT関数の使い方)。
あわせて読みたい:文字列の関連記事
練習用ファイル:練習用Excelファイル(.xlsx・無料)

コメント