Excel 配列(セル範囲)をテキストに変換(ARRAYTOTEXT関数)

English version.

ARRAYTOTEXT関数は配列(セル範囲)をテキストに変換する関数です。現状では使い道の少ない関数です。

仕様

=ARRAYTOTEXT(配列,書式)
引数省略時の値説明
配列省略不可テキストに変換する配列(セル範囲)を指定
書式00…読みやすい簡潔な形式。 返される文字列は、一般的な書式設定が適用されているセルに表示される文字列と同じになります。

1…エスケープ文字と行の区切り文字を含む厳格なフォーマット。 数式バーに入力したときに解析できる文字列を生成します。 返された文字列は、ブーリアン、数値、エラーを除き、引用符で囲まれます。

使用例

配列(セル範囲)と結果の例です。

書式に0を指定

書式に0を指定した場合は、TEXTJOIN関数に近い結果になります。日付はシリアル値に変換されます。

123, 123.456, 123, ABC, TRUE, FALSE, 45068, 45068.5213541667

書式に1を指定

書式に1を指定した場合は、配列(セル範囲)のテキスト表現になります。日付はシリアル値に変換、テキストはダブルコーテーションで囲まれます。

{123;123.456;"123";"ABC";TRUE;FALSE;45068;45068.5213541667}

=を付けて数式バーに指定するとスピルとしてセル範囲に展開されます。

セル範囲は複数列でも変換可能です。

{"数値(整数)",123;"数値(少数)",123.456;"テキスト(数字)","123";"テキスト","ABC";"論理値",TRUE;"論理値",FALSE;"日付",45068;"日時",45068.5213541667}

配列(セル範囲)を引数とする関数に利用することも可能です。

頻度は低いですが、セル範囲を使わずに一つのセルの数式を作りたい場合に有効です。

プログラム言語の配列のコード

大量の要素を持つ配列を初期化したい場合にコードの作成の補助として使用すると効率的です。

1次元配列
JavaScriptなど

1行に値を並べてカッコをSUBSTITUTE関数で変換するとJavaScriptなど配列になります。

=SUBSTITUTE(SUBSTITUTE(ARRAYTOTEXT(セル範囲,1),"{","["),"}","]")
Power Automate Desktop

SUBSTITUTE関数でダブルコーテーションをシングルコーテーションに変換して(変換しなくても自動変換されますが)、%で囲むとPower Automate Desktopのリストになります。

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(ARRAYTOTEXT(セル範囲,1),"{","%["),"}","]%"),"""","'")
2次元配列

さらにSUBSTITUTE関数での変換を増やすと2次元配列を作成可能です。

JavaScriptなど
="["&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(ARRAYTOTEXT(セル範囲,1),"{","["),"}","]"),";","],[")&"]"
Power Automate Desktop
="%["&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(ARRAYTOTEXT(セル範囲,1),"{","["),"}","]"),";","],["),"""","'")&"]%"

Excelを効率的に習得したい方へ

当サイトの情報を電子書籍用に読み易く整理したコンテンツを

買い切り950円またはKindle Unlimited (読み放題) で提供中です。

Word-A4サイズ:1,400ページの情報量で

(実際のページ数はデバイスで変わります)

基本的な使い方、関数の解説(140種類)、

頻出テクニックと実用例(109種類)、

XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピルなど便利な新機能を紹介。

体系的に学びたい方は是非ご検討ください。

アップデートなどの更新事項があれば随時反映しています。

なお購入後に最新版をダウンロードするには

Amazonへの問い合わせが必要です。

関連記事

関数の仕様と使い方の記事一覧