ARRAYTOTEXT関数の使い方|範囲を1つの文字列にする・形式0と1の違い

216-01|Excel ARRAYTOTEXT関数の使い方|配列を指定した区切り文字で区切りながらテキストに変換します

エクセルで、範囲や配列の値をまとめて1つの文字列にするには ARRAYTOTEXT関数を使います。名前の列なら、=ARRAYTOTEXT(A3:A6) で 山田, 佐藤, 鈴木, 高橋 になります。

形式に 1 を指定すると「{“山田”;”佐藤”;…}」という配列の形の文字にでき、式の確認や、ほかの式に貼り付けるときに便利です。この記事では、ARRAYTOTEXT関数の基本、形式0と1の違い、行と列の区切りの読み方、TEXTJOIN関数との違い、条件に合う値だけをまとめる方法までを、1つの表で説明します。下の練習ツールで、値を書き換えて結果の変わり方を試せます。

目次

ARRAYTOTEXT関数の書き方

ARRAYTOTEXT関数の構文
数式=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”))山田, 佐藤, 高橋
エクセルのARRAYTOTEXT関数で範囲を1つの文字列にした表
エクセルのARRAYTOTEXT関数で範囲を1つの文字列にした表

範囲を1つの文字にする

1
結果を出したいセル(F3)を選びます。
2
「=ARRAYTOTEXT(」と入力し、名前の範囲(A3:A6)をドラッグします。
3
「)」と入力して Enter キーを押します。
ARRAYTOTEXT関数の式
数式=ARRAYTOTEXT(A3:A6)
ひとことで範囲を文字にする
A3:A6
範囲です

4人の名前が「, 」で区切られて 山田, 佐藤, 鈴木, 高橋 になります。数値の点数も =ARRAYTOTEXT(C3:C6) で 70, 85, 60, 75 です。横の1行分 =ARRAYTOTEXT(A3:C3) は 山田, A, 70 です。

形式1で配列の形にする

ARRAYTOTEXT関数の式
数式=ARRAYTOTEXT(A3:A6,1)
ひとことで範囲を文字にする
A3:A6
範囲です
1
形式です

形式に 1 を指定すると、{“山田”;”佐藤”;”鈴木”;”高橋”} になります。文字は「”」で囲まれ、縦に並んだ値(行)は「;」で区切られます。数値は =ARRAYTOTEXT(C3:C6,1) で {70;85;60;75} と、「”」なしで並びます。

行と列の区切りの読み方

ARRAYTOTEXT関数の式
数式=ARRAYTOTEXT(A3:C4,1)
ひとことで範囲を文字にする
A3:C4
範囲です
1
形式です

2行3列の範囲は {“山田”,”A”,70;”佐藤”,”A”,85} です。同じ行の中は「,」、行の切れ目は「;」です。この形は、式の中に直接書く配列定数と同じ書き方なので、コピーしてほかの式に使えます。

TEXTJOIN関数との違い

TEXTJOIN関数の式
数式=TEXTJOIN(", ",TRUE,A3:A6)
ひとことで区切り文字をはさんでつなげる
", "
区切り文字です
TRUE
空白を無視するかです
A3:A6
つなげる文字1です

TEXTJOIN関数で区切り文字を「, 」にすると、結果は同じ 山田, 佐藤, 鈴木, 高橋 です。区切り文字を自由に決めたい・空のセルを飛ばしたいときは TEXTJOIN関数、配列の形で確認したいときは ARRAYTOTEXT関数が便利です(TEXTJOIN関数の使い方)。

条件に合う値だけをまとめる(FILTER)

ARRAYTOTEXT関数の式
数式=ARRAYTOTEXT(FILTER(A3:A6,B3:B6="A"))
ひとことで範囲を文字にする
FILTER(A3:A6,B3:B6="A")
範囲です

FILTER関数で A組だけを取り出してからまとめると、山田, 佐藤, 高橋 になります(FILTER関数の使い方)。

ARRAYTOTEXT関数がうまくいかないときの確認表

症状考えられる原因対処
「#NAME?」になるExcel 2019 以前TEXTJOIN関数(2019以降)を使う。
「#VALUE!」になる形式に 0・1 以外を指定した0 か 1 を指定する。
「, , 」のように空が並ぶ範囲に空のセルがある空のセルを飛ばすなら TEXTJOIN関数(空白を無視=TRUE)を使う。

ARRAYTOTEXT関数のよくある質問

1つの値だけを文字にするには?

VALUETOTEXT関数を使います(VALUETOTEXT関数の使い方)。

あわせて読みたい:文字列の関連記事

練習用ファイル:練習用Excelファイル(.xlsx・無料)

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次