ARRAYTOTEXT関数の詳細解説(Excel)

ARRAYTOTEXT関数の詳細解説(Excel)

ARRAYTOTEXT関数は、Excelで配列をテキスト表現として返すための関数です。この関数は、配列の内容を文字列として表示する際に役立ちます。本記事では、ARRAYTOTEXT関数の基本から応用例まで詳しく解説します。

ARRAYTOTEXT関数の基本

関数の構文

ARRAYTOTEXT(配列, [書式])

引数の説明

  • 配列: テキストとして表現する配列を指定します。これは範囲、数式、または定数配列で指定できます。
  • 書式: 省略可能です。0または1の数値を指定します。
    • 0 (簡潔): コンパクト形式で表示します。列区切りと行区切りはともに “,” です。
    • 1 (厳格): 詳細形式で表示します。文字列は二重引用符で囲まれます。列区切りは “,” です。行区切りは “;” です。
ARRAYTOTEXT関数の使用例図1(簡潔)

ARRAYTOTEXT関数の使用例図1(簡潔)

基本的な使用例

1. 配列のテキスト変換

小さな2次元配列の内容をテキストとして表示する場合……

=ARRAYTOTEXT(A1:B2, 0)

例えば、A1:B2の配列が以下のような場合……

12
4

上記のARRAYTOTEXT関数は 1,2,山,4 のような文字列を返します。

2. 書式0と書式1の違い

書式0 (簡潔) と書式1 (厳格) の違いを示します。

=ARRAYTOTEXT(A1:B2, 0)
=ARRAYTOTEXT(A1:B2, 1)

書式0は 1,2,山,4 を返し、書式1は {1,2;"山",4} のように括弧と二重引用符を含む詳細な形式で表示します。

ARRAYTOTEXT関数の使用例図2(厳格)

ARRAYTOTEXT関数の使用例図2(厳格)

応用例

1. 配列数式のテキスト変換

配列数式の結果をテキストとして表示する場合:

=ARRAYTOTEXT(SEQUENCE(3, 3), 0)

この例では、SEQUENCE関数が生成する配列 1,2,3,4,5,6,7,8,9 がテキスト表示されます。

=ARRAYTOTEXT(SEQUENCE(3, 3), 1)

この例では{1,2,3;4,5,6;7,8,9}が返ります。

2. 他の関数との組み合わせ

TEXTSPLIT関数と組み合わせて、文字列を再び配列に戻す例を示します。

=TEXTSPLIT(MID(ARRAYTOTEXT(A1:B2, 1), 2, LEN(ARRAYTOTEXT(A1:B2, 1)) - 2), ",", ";")

この例では、ARRAYTOTEXT関数で変換された文字列を再び2次元配列に戻します。ただし文字列は「”」で囲まれます。

12
“山”4

これは以下の式が配列定数を配列に変換する機能を有していることから導き出されます。

=TEXTSPLIT(MID(配列定数, 2, LEN(配列定数) - 2), ",", ";")

文字列の「”」を取り除く場合は以下の式になります。

=SUBSTITUTE(TEXTSPLIT(MID(配列定数, 2, LEN(配列定数) - 2), ",", ";"),"""","")

トラブルシューティング

よくあるエラーと対処法

#VALUE! エラー: 書式に0か1以外を指定すると発生するエラーです。