Excelの新機能「リストとセル内配列」:1つのセルに複数の値
Excelに、セルの扱いを大きく広げる新機能が追加されました。
今回追加された「リスト(Lists)」や「セル内配列(Arrays in Cells)」では、1つのセルの中に複数の値を持たせることができます。
本稿では、2026年9月時点のMicrosoft 365 Beta Channelで確認できる範囲について、できるだけ簡単な例で紹介します。
【注意】
本稿で紹介する機能は、2026年9月時点ではPreview機能です。
正式リリースまでに仕様や動作が変更される可能性があります。
Microsoftも、一般提供されるまでは重要なブックでの利用を推奨していません。

※本記事の構成検討、文章の作成・推敲、技術的な確認の補助に生成AI(ChatGPT等)を使用しています。
掲載内容は、Microsoftの公式情報や筆者によるExcel Beta版の実機検証などを基に、筆者が確認・編集しています。
ページ内目次
2. リスト(Lists)とは
├─ 2-1 リストを作成する
├─ 2-2 カンマ区切り文字列や改行セルとの違い
├─ 2-3 リストを編集する
└─ 2-4 リスト項目でフィルターする
├─ 3-1 従来の動的配列はスピルする
├─ 3-2 { } で囲むと配列を1セルに保持できる
└─ 3-3 セル内配列を別セルから参照する
├─ 4-1 「リスト」と「セル内配列」の関係
├─ 4-2 セルの先頭に表示されるアイコン
└─ 4-3 配列の中に配列を持つ「入れ子配列」
├─ 5-1 FLATTEN ― 入れ子配列を展開する
├─ 5-2 HAS ― 指定した値を含むか
├─ 5-3 HASANY ― どれか1つを含むか
├─ 5-4 HASALL ― すべて含むか
├─ 5-5 HAS, HASANY, HASALL のまとめ
└─ 5-6 既存関数でも利用できる
├─ 6-1 1つのデータに複数の分類を持たせる
├─ 6-2 行ごとに長さが異なる計算結果を扱う
├─ 6-3 GROUPBY関数でグループごとのデータを1セルにまとめる
└─ 6-4 FILTER関数とHAS関数の組合せ
├─ 7-1 互換性バージョンとは
├─ 7-2 入れ子配列と互換性バージョン3
├─ 7-3 ブック間コピーには注意
└─ 7-4 新機能に未対応のExcelでは
├─ 8-1 Value / Value2 / Text
├─ 8-2 EvaluateとFLATTENで取得する
└─ 8-3 VBAで扱う場合の注意点
10. 対応バージョンとBeta版について
11. まとめ
12. 参考URL
1. Excelで「1セルに複数の値」を持てるようになった
まずは、これまでのExcelで扱えるデータや計算の広がりの中で、その位置付けを見てみます。
| 機能・種類 | 何ができるのか |
| 基本値 | 文字列・数値・論理値・エラー値など、単一の値をセルに保持する。 |
| 動的配列 | 通常の数式入力で配列を計算できる。 計算結果をスピルによって複数セルへ展開することもできる。 |
| リッチデータ型 | 株式・地理など、複数の属性(フィールド)を持つ構造化データを1セルに保持する。 |
| セル内画像 | 画像をセルの値として保持する。 |
| Pythonオブジェクト | Pythonの処理結果をオブジェクトとして1セルに保持する。 |
| リスト・セル内配列(今回の新機能) | 複数の値からなる配列そのものを、1セルの値として保持する。 配列の中に別の配列を持つ「入れ子配列」も扱える。 |
※これは厳密なデータ型の分類ではなく、Excelで扱えるデータや計算の仕組みが広がってきた様子を示しています。
つまり、配列の計算と、計算結果をどこに置くかは別の話です。
=SORT(A1:A3) → 配列の各要素を複数セルへスピル
={SORT(A1:A3)} → 配列そのものを1セルに保持従来も1セルに「営業,技術,経理」と入力できましたが、これはExcelにとっては1つの文字列です。各部署を個別に扱うには文字列の分割などが必要でした。
セルの中に保持できる値の構造が広がり、複数の値を配列のまま、数式やフィルターから利用できるようになったことが大きなポイントです。
2. リスト(Lists)とは
たとえば、「東京」「大阪」「名古屋」という3つの項目を、1つのセルの中に保持できます。
通常のカンマ区切り文字列とは異なり、Excelは各項目を個別の値として扱います。
2-1 リストを作成する
たとえば、
「東京,大阪,名古屋」と入力して確定し、そのセルを選択した状態で「リスト」をクリック(またはCtrl + J)すると、1つのセルの中に「東京」「大阪」「名古屋」という3項目を持つリストを作成できます。
今回確認したBeta版では、もう一度「リスト」をクリック(またはCtrl + J)すると、リストが解除され、区切り文字を含む通常の文字列へ戻りました。

また、区切り文字列の入った複数セルを選択し、一括でリスト化することも確認できました。

上のGIFでは、D1:D2を選択してまとめてリストに変換しています。

2-2 カンマ区切り文字列や改行セルとの違い
東京,大阪,名古屋
また、セル内改行を使えば、
東京
大阪
名古屋
しかし、これらは基本的には1つの文字列です。
この違いによって、各項目を数式やフィルターから直接扱えるようになります。
2-3 リストを編集する
項目の追加・削除・変更も可能です。


カンマ自体を1つの項目として入力したい場合は、次のようにダブルクォーテーションで囲みます。
","
1,2,,3,4 → 1,2,#N/A,3,4
1,2,"",3,4 → 空文字("")も1項目として保持
※以上は今回のBeta版で実際に確認した挙動です。
2-4 リスト項目でフィルターする
たとえば1つのセルに「営業」「経理」という2つの項目が含まれている場合、「経理」という項目を持つ行として絞り込むことができます。



画像の例ではD1がリストで、E1に次の式を入力しています。
=D1

={D1}
3. セル内配列(Arrays in Cells)とは
数式が返した配列については、数式本体を中括弧 { } で囲むことで、スピルさせず1つのセルに保持できます。
本稿では、この数式結果を1セルに保持する例を中心に説明します。
3-1 従来の動的配列はスピルする

本稿の日本語環境の配列定数では、列の区切りは「,」、行の区切りは「;」です。前述のCtrl + Jによるリスト項目の区切りとは別の話です。
={3,1,2} → 横方向に3列へスピル
={3;1;2} → 縦方向に3行へスピル
3
1
2
=SORT(A1:A3)
1
2
3
これは現在の動的配列の基本的な動作です。
配列
↓
複数セルへ展開
3-2 { } で囲むと配列を1セルに保持できる

={{3,1,2}} → 横配列全体を1セルに保持
={{3;1;2}} → 縦配列全体を1セルに保持
※アイコンの違いについては、4-2 セルの先頭に表示されるアイコン で説明します。
通常は、
=SORT(A1:A3)
={SORT(A1:A3)}すると、SORT関数が返した「1、2、3」という配列そのものが1つのセルの値として保持されます。
セル
└─ 配列
├─ 1
├─ 2
└─ 3利用する場合は、既存数式への影響も確認したうえで「ブックをバージョン 3 にアップグレード」を選択します。
詳しくは、「7. 互換性バージョン3と注意点」で解説します。

従来の配列数式では、Excelが数式全体を次のように表示していました。
{=SUM(A1:A3*B1:B3)}3-3 セル内配列を別セルから参照する
今回確認したBeta版では、参照式を直接入力した場合と、数式の編集中に参照元セルをクリックした場合とで、後者に { } が自動付加される動作を確認しました。



{ } で囲む:配列を1セルの値として保持する。
{ } で囲まない:通常は複数セルへスピルする(展開先が空いている場合)。
※式が入れ子配列を返す場合や互換性バージョンが異なる場合などは、結果が変わることがあります。
4. リスト・セル内配列・入れ子配列の関係
4-1 「リスト」と「セル内配列」の関係
| 種類 | 主な作り方 | 特徴 |
| リスト | 入力・貼り付けした複数項目をリスト化 | 1セル内の各項目を個別の値として扱える |
| セル内配列 | 配列を { } で包むなど | 配列そのものを1セルの値として保持できる |
リストも、配列をセルの値として持てるようになった今回の仕組みの一部です。
リストは、その仕組みを項目の入力・編集に利用する機能です。本稿では分かりやすく、操作で作る「リスト」と、数式が返した配列を保持する「セル内配列」に分けて紹介しています。
セル内配列では、縦・横・2次元などの形状を持つ配列そのものを1セルに保持することもできます。
4-2 セルの先頭に表示されるアイコン

入れ子配列の場合は、外側の配列の各要素である内側の配列が一覧表示されるため、セルの中にどのような配列が保持されているかを確認しやすくなります。
これは配列をワークシートへスピルしているのではなく、セル内に保持されている配列の内容を表示しているものです。

4-3 配列の中に配列を持つ「入れ子配列」
たとえば、次の数式です。
={{1,2,3};{4,5,6}}一方、その2つの要素である {1,2,3} と {4,5,6} は、それぞれ横方向の配列として各セルの中に保持されます。
外側の配列
├─ {1,2,3} → A1セルの中に保持
└─ {4,5,6} → A2セルの中に保持
外側の配列そのものは A1:A2 へスピル入れ子配列だからといって、全体が必ず1セルに収まるわけではありません。

配列
├─ 配列
│ ├─ 1
│ ├─ 2
│ └─ 3
└─ 配列
├─ 4
├─ 5
└─ 6
関数や数式が返した配列を、外側の配列の要素として利用することもできます。
={{1,2,3};SEQUENCE(,3,4);{6+SEQUENCE(3)}}それぞれのセルには、次の配列が保持されます。
{1,2,3} → 配列定数による横配列
SEQUENCE(,3,4) → 関数が返す横配列
{6+SEQUENCE(3)} → 数式が返す縦配列また、内側の配列は、すべて同じ形状である必要はありません。

今回の変更では、対応する数式について完全な入れ子結果を保持できるようになります。
なお、掲載した入れ子配列の例を旧来の互換性バージョンのまま計算すると、今回確認したBeta版では「#CALC!」になりました。

VBAからの数式設定だけでなく、数式バーへ直接入力した場合も同じ結果でした。
なお、Preview期間中の機能であり、以前のBeta版では異なる結果も確認しているため、今後この上限が変更される可能性があります。

5. 新しく追加された4つの関数
FLATTEN
HAS
HASANY
HASALL
5-1 FLATTEN : 入れ子配列を展開する
■構文
=FLATTEN(array,[pad_value],[levels])
| array | 配列を指定します。 |
| pad_value | 不揃いな配列を展開するときの不足部分を埋める値に使います。 省略時は、不足部分は「#N/A」になります。 |
| levels | 入れ子の階層をどこまで解除するかを指定するための引数です。 省略時は、「1」になります。 ※levelsに指定できる数値そのものについて、今回確認した範囲では明確な上限は存在しません。 ただし、今回のBeta版では入れ子配列そのものが33階層までのため、34以上を指定しても、それ以上に展開する階層はなく、実質的な意味はありません。 |
={{1,2,3};{4,5,6}}=FLATTEN(A1:A2)


={{{1,2,{31;32}};{4,5,{61;62}}}}=FLATTEN(A1)

=FLATTEN(A1,"",2)
この部分は見た目が空白でも、本当の空白セルではありません。展開後の範囲をCOUNTA関数で数えると、空文字も件数に含まれる点に注意してください。

5-2 HAS : 指定した値を含むか
■構文
=HAS(array,value)
| array | 配列を指定します。 |
| value | 存在するかを判定する値 |
=HAS(A1,"東京")

5-3 HASANY : どれか1つを含むか
■構文
=HASANY(array,values)
| array | 配列を指定します。 |
| values | 含まれているかを判定する複数の候補値を指定します。 |
=HASANY(A1,{"東京","福岡"})
5-4 HASALL : すべて含むか
■構文
=HASALL(array,values)
| array | 配列を指定します。 |
| values | 含まれているかを判定する複数の候補値を指定します。 |
=HASALL(A1,{"東京","福岡"})5-2と同じリストなら福岡が含まれないため、結果はFALSEです。

5-5 HAS, HASANY, HASALL のまとめ
HAS → 指定した値があるか
HASANY → どれか1つでもあるか
HASALL → すべてあるか

今回の実機テストでは、HASの第2引数を "東京" と {"東京"} のどちらで指定しても、この例の判定結果は同じでした。上のまとめ画像は後者を使用しています。
5-6 既存関数でも利用できる
配列を扱える既存関数でも、新しい値を利用できるものがあります。
次の例では、A1に「数値と文字の組」を5組持つ入れ子配列を入力しています。元の数式は次の通りです。
={{{3,"c"};{1,"a"};{5,"e"};{4,"d"};{2,"b"}}}=COUNT(A1)
=COUNTA(A1)
=SUM(A1)
=SORT(A1)

この例では、COUNTは数値の個数で5、COUNTAは数値と文字の合計で10、SUMは数値の合計で15を返しました。
SORTでは各組を保ったまま並べ替えられています。
特に、COUNT,COUNTAは配列の要素数 になるので、従来のセルの個数とは全く違った概念になるので注意が必要です。。
掲載したデータに対して、例えば次のように指定します。
=VLOOKUP(3,FLATTEN(A1),2,FALSE)
同じA1のデータをFLATTENで展開して、2行目・2列目の値を取り出すなら、
=INDEX(FLATTEN(A1),2,2)
6. 新機能はどんな場面で使えるのか
6-1 1つのデータに複数の分類を持たせる
=HAS(B2,"営業")

どちらの式も新しいリストを対象としており、HASなら「含むか」という判定の意図を直接表現できるのが特徴です。
6-2 行ごとに長さが異なる計算結果を扱う
新しい入れ子配列の仕組みでは、行ごとの異なる長さの結果を配列として扱い、FLATTENでまとめて展開することもできます。
次の3つの数式と結果を比べてみてください。

=TEXTSPLIT(A1,",")

=IFERROR(
DROP(
REDUCE("",A1:A3,LAMBDA(x,y,VSTACK(x,TEXTSPLIT(y,",")))),
1),
"")REDUCE+VSTACKについては、REDUCE+VSTACKが遅い理由と解決策 も参考にしてください。

=FLATTEN(TEXTSPLIT(A1:A3,","),"")
6-3 GROUPBYでグループごとのデータを1セルにまとめる
これを担当者ごとにまとめ、各担当者が受け持っている店舗を一覧にしてみます。

=GROUPBY(A1:A7,B1:B7,LAMBDA(x,{x}),3,0)通常はSUMなどで集計するところを、グループ内のデータをそのまま { } で囲み、セル内配列として返しています。
なお、第4引数の「3」は、元データの先頭行を見出しとして扱い、結果にも見出しを表示する指定です。第5引数の「0」は総計を表示しない指定です。

そして、E列の各セルには、それぞれの担当者が受け持つ店舗名が配列として格納されています。
店舗名は、それぞれ独立した配列の要素として保持されているため、HAS関数などで個別に扱うこともできます。
たとえば、佐藤さんの担当店舗が入っているE2セルに対して、
=HAS(E2,"川崎店")
GROUPBYの結果は表としてスピルし、その表の各セルがさらに配列を持つ。
このように、セル内配列を利用することで、従来の集計関数でも、グループごとの複数データを簡単に扱えるようになります。
6-4. FILTER関数とHAS関数の組み合わせ
例えば、担当者と担当店舗の一覧から、「佐藤」または「鈴木」の行だけを抽出する場合を考えます。
従来は、複数の比較条件を
+ でつないでOR条件を作成します。

array の中に、第2引数 value が存在するかを判定します。そのため、「A2:A7の中から佐藤や鈴木を探す」と考えると、
=HAS(A2:A7,{"佐藤","鈴木"})
と書きたくなります。
しかし、FILTER関数の抽出条件として使う場合は、考え方を逆にします。
=HAS({"佐藤","鈴木"},A2:A7)
つまり、A2:A7の各値について、{"佐藤","鈴木"} の中に含まれているかを判定します。
A2:A7が、
佐藤
田中
鈴木
佐藤
田中
HAS({"佐藤","鈴木"},"佐藤") → TRUE
HAS({"佐藤","鈴木"},"田中") → FALSE
HAS({"佐藤","鈴木"},"鈴木") → TRUE
HAS({"佐藤","鈴木"},"佐藤") → TRUE
HAS({"佐藤","鈴木"},"田中") → FALSE
=HAS({"佐藤","鈴木"},A2:A7)
これは、次の論理値配列を返します。
TRUE
FALSE
TRUE
TRUE
FALSE
従来の、
(A2:A7="佐藤")+(A2:A7="鈴木")
では、検索する条件値が増えるたびに条件式を追加する必要があります。
HAS関数では、
{"佐藤","鈴木"}
のように、検索する値を配列としてまとめて指定できます。
「範囲の中から複数の値を探す」のではなく、
「範囲内の各値が、指定した値の一覧に含まれているかを調べる」
と考えるのがポイントです。
しかし、HASANY関数はこの用途には適していません。

この例では、「A2:A7のどこかに佐藤または鈴木が存在するか」を調べるため、結果は1つのTRUEまたはFALSEになります。
FILTER関数で必要なのは、各行について、
TRUE
FALSE
TRUE
TRUE
FALSE
HASANY関数は範囲全体に対して1つのTRUE/FALSEを返すのに対し、FILTER関数では各行に対応したTRUE/FALSEの配列が必要です。
そのため、このHASANY関数の使い方では、FILTER関数の抽出条件として利用できません。
7. 互換性バージョン3と注意点
単にCtrl + Jでリストを作成する操作については、今回の実機テストではバージョンによる違いはありませんでした。
7-1 互換性バージョンとは
次の場所から設定できます。
数式 → 計算方法の設定 → 互換性バージョン

7-2 入れ子配列と互換性バージョン3
互換性バージョンの変更は過去の変更も含むため、Version 1から3へ変更するときは、Version 2で導入された文字列関数の変更にも注意が必要です。
たとえば、=LEN("😇") の結果は、Version 1では「2」、Version 2以降では「1」です。これはVersion 3で新たに生じた変更ではありません。
したがって、
「最新のExcelブックだからVersion 3にすればよい」と単純に考えるのではなく、既存ブックでは計算結果を確認してから変更する必要があります。


7-3 ブック間コピーには注意
以下は、今回使用したBeta版でセルコピー・シートコピーを試した結果です。
通常のリストは、確認したバージョン間ではリストのままコピーされました。
一方、Version 3のセル内配列をVersion 1 / 2へコピーした場合、同じ計算結果を保持できない例がありました。
※以下は確認した操作と数式についての結果であり、あらゆる配列・コピー方法に共通する仕様を示すものではありません。
| 操作 | コピー元の 互換性バージョン |
コピー先の 互換性バージョン |
説明 |
| リストのセルコピー | 3 | 3 | リストとしてコピーされる |
| リストのセルコピー | 3 | 1 , 2 | リストとしてコピーされる |
| リストのセルコピー | 1 , 2 | 3 | リストとしてコピーされる |
| リストのあるシートコピー | 3 | 3 | リストとしてコピーされる |
| リストのあるシートコピー | 3 | 1 , 2 | リストとしてコピーされる |
| リストのあるシートコピー | 1 , 2 | 3 | リストとしてコピーされる |
| セル内配列のセルコピー | 3 | 3 | セル内配列としてコピーされる |
| セル内配列のセルコピー | 3 | 1 , 2 | エラーまたは配列の先頭のみ表示 |
| セル内配列のシートコピー | 3 | 3 | セル内配列としてコピーされる |
| セル内配列のシートコピー | 3 | 1 , 2 | エラーまたは配列の先頭のみ表示 |
7-4 新機能に未対応のExcelでは
新機能そのものに未対応の古いExcelで開く場合とは区別してください。
今回の実機確認では、未対応のExcelでセル内配列の数式を開くと、数式が _xlfn._ARRAY や _xlfn._ARRAYROW などの未対応関数を含む表記となり、この例では#VALUE!が表示されました。

ただし、未対応のExcelでは、その数式を正しく再計算できません。開く際や再計算時にエラーが表示される場合もあります。

8. VBAから見るとどうなるのか
今回のBeta版で確認した例では、Value/Value2では通常のセル値を取得できず、Textではセルの表示文字列を取得できました。
8-1 Value / Value2 / Text
Range("A1").Value
Range("A1").Value2値だけではなく、IsEmptyとVarTypeで型や状態も調べました。
Debug.Print "Value:" & Range("A1").Value
Debug.Print "IsEmpty(Value):" & IsEmpty(Range("A1").Value)
Debug.Print "VarType(Value):" & VarType(Range("A1").Value)
Debug.Print ""
Debug.Print "Value2:" & Range("A1").Value2
Debug.Print "IsEmpty(Value2):" & IsEmpty(Range("A1").Value2)
Debug.Print "VarType(Value2):" & VarType(Range("A1").Value2)
Debug.Print ""
Debug.Print "Text:" & Range("A1").Text
Debug.Print "IsEmpty(Text):" & IsEmpty(Range("A1").Text)
Debug.Print "VarType(Text):" & VarType(Range("A1").Text)Value:
IsEmpty(Value):True
VarType(Value):0
Value2:
IsEmpty(Value2):True
VarType(Value2):0
Text:1, 2, 3
IsEmpty(Text):False
VarType(Text):8
Textが返すのはセルに現在表示されている文字列であり、配列の各要素をデータとして取得しているわけではありません。表示形式や列幅の影響にも注意が必要です。
8-2 EvaluateとFLATTENで取得する
ActiveWorkbook.CompatibilityVersion = 3
互換性バージョンの変更はブック内の既存数式の計算結果に影響する場合があるため、実際の業務用ブックに無条件で実行しないでください。
詳しくは第7章で説明しています。
WorksheetFunction.Sum(Range("A1:A3"))そのため、ここでは Evaluate を使用し、FLATTENをExcelの数式として評価して、その結果をVBAのVariant変数で受け取っています。
たとえば、
Evaluate("FLATTEN(A1)")[FLATTEN(A1)]
以下は、対象のテスト用ブック・シートをアクティブにし、標準モジュール内のSubで実行した例です。A1の数式とブックの互換性バージョンを変更し、Stopで停止させてローカルウィンドウの変数vを確認しました。
参照先が別シートの場合などは、アクティブシートに依存しないよう、例えば ws.Evaluate("FLATTEN(A1)") のように対象シートを明示します(wsはWorksheet変数)。

ActiveWorkbook.CompatibilityVersion = 3
Range("A1").Formula2Local = "={{{1,2,{31;32}};{4,5,{61;62}}}}"
Dim v: v = [FLATTEN(A1)]
Stop■ levelsを指定した場合のVBAでの取得結果
さらに内側にある配列は、Variant変数vの要素として入れ子のまま残ります。
実際に、この例では v(1,3)(2,1) で 32 を取得できました。
一方、上のコードの代入行を次のように変更すると、2階層目まで展開されます。
v = [FLATTEN(A1,,2)]
ここでの「エラー 2042」はマクロが実行時エラーで停止したという意味ではなく、取得した配列の要素に#N/A相当のエラー値が格納されているという意味です。
つまり、VBAからEvaluateで取得する場合も、levelsとpad_valueの指定によって、取得する配列の構造や要素が変わります。以上は今回のBeta版での実機確認結果です。

ActiveWorkbook.CompatibilityVersion = 3
Range("A1").Formula2Local = "={{{1,2,{31;32};4,5,{61;62}}}}"
Dim v: v = [FLATTEN(A1,,2)]
Stop一方、入れ子の深さや要素数が一定でないジャグ配列(不揃いの配列)などでは、levelsを省略し、内側の配列を残した状態で取得する方が柔軟に処理できます。
なお、levels省略時も既定値の1階層は展開されます。
元の配列構造を完全にそのまま取得するという意味ではありません。
- 定型配列: 必要な階層まで展開し、通常の2次元配列として処理する。
- 不定形・ジャグ配列: 必要以上に展開せず、入れ子構造を利用して処理する。
8-3 VBAで扱う場合の注意点
今回の新機能によって、セルそのものが複数値を持つようになるため、既存コードでは想定外の結果になる可能性があります。
Value
Value2
Text
HasFormula
IsEmpty
VarType
TypeName
IsArray
今回のValue / Value2のように、従来の1セルの値を前提とした処理では注意が必要です。
9. 現時点での機能制限
Microsoftからは、現時点で次の制限が案内されています。
- 条件付き書式は、数式を使わない限り配列内部の値を調べない。
- データの入力規則では、リストや配列をドロップダウン項目として使用できない。
- グラフは、セル内配列を複数のデータ点として展開しない。
- ピボットテーブルは、配列値を元データとして読み込まない。
- Power Queryは、配列値を持つ列の読み込み・出力に対応していない。
- 検索と置換では、リストや配列内の個々の項目を置換できない。
以上は2026年9月時点にMicrosoftが案内している制限です。正式提供までに対応状況が変わる可能性があります。
たとえば、セル内配列を作っただけでは、グラフの複数のデータ点として自動的に展開されません。必要に応じてFLATTENなどで通常のセル範囲へ展開してから、既存機能に渡す方法を検討します。ただし、展開すればすべての機能で完全に対応するという意味ではありません。
セル側のデータ構造が拡張された
↓
既存機能側の対応はまだ途中10. 対応バージョンとBeta版について
Microsoftが案内している対象バージョンは次の通りです。
Windows
Version 2610
Build 20520.20000 以降
Mac
Version 16.114
Build 26092111 以降
■ 本稿の実機検証環境(上記の提供開始条件とは別)
Windows版 Microsoft Excel for Microsoft 365
バージョン2610(ビルド20522.20000)/64ビット
日本語Windows環境、リスト区切り文字はカンマ(,)
ただし、段階的にロールアウトされるため、同じBuildを使用していても機能がまだ表示されない場合があります。
Excel for the web、iOS、Android、Current Channelなどへの一般提供時期は、今回の発表では示されていません。
正式リリース時には、本稿の内容についても改めて確認する必要があります。
11. まとめ
追加機能
・リスト(Ctrl+J)
・セル内配列
・入れ子配列
・互換性バージョン3
追加関数
・FLATTEN
・HAS
・HASANY
・HASALL
VBA
・セル内配列専用の新しいVBA機能は現時点では確認できない
・今回確認したBeta版では、Value / Value2はEmpty、Textは表示文字列
・FLATTENをEvaluateして配列として扱う方法がある
今回の新機能で最も大きなポイントは、4つの関数が追加されたことだけではありません。
これまでの、
1セル = 1つの値
1セル = 複数の値
動的配列では、
1つの数式で配列を計算
↓
必要に応じてスピルで複数セルへ展開今回はさらに、
配列そのもの
↓
1つのセルに保持まだBeta版であり、周辺機能の対応も途中ですが、Excelにおける「セルの値」そのものの考え方を広げる大きな変更です。
12. 参考URL
Put multiple values in one cell with lists and arrays in Excel
2026-09-24
https://techcommunity.microsoft.com/blog/microsoft365insiderblog/put-multiple-values-in-one-cell-with-lists-and-arrays-in-excel/4559395
Excel now supports multiple values in a single cell
2026-09-24
https://techcommunity.microsoft.com/blog/excelblog/excel-now-supports-multiple-values-in-a-single-cell/4549756
Compatibility Versions
https://support.microsoft.com/ja-jp/excel/compatibility-versions
Range.Value property (Excel)
https://learn.microsoft.com/en-us/office/vba/api/excel.range.value
https://learn.microsoft.com/en-us/office/vba/api/excel.range.value2
https://learn.microsoft.com/en-us/office/vba/api/excel.range.text
新しいリストやセル内配列に対するVBAの具体的な挙動は、2026年9月時点では公式ドキュメントに十分な説明がないため、本稿ではBeta版Excelの実機確認結果も併記します。
新着記事NEW ・・・新着記事一覧を見る
Excelの新機能「リストとセル内配列」:1つのセルに複数の値|エクセル入門(2026-09-28)
Excel関数クロスワード(2026-09-26)
Excelショートカットキークイズ(2026-09-23)
Excel関数名クイズ(2026-09-21)
気ままに一手|リレー将棋(2026-09-20)
ITエンジニアがトラブルを避けるための法律・契約入門|エクセル雑感(2026-09-18)
ITエンジニアなら知らないと恥ずかしい数学20選|エクセル雑感(2026-09-17)
ITエンジニアのための税金と社会保険のお話|エクセル雑感(2026-09-15)
ITエンジニアのための経理・会計・簿記入門|エクセル雑感(2026-09-12)
「Python in Excel」入門:コードを読むための基礎知識|エクセル関数応用(2026-09-10)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.Excelショートカットキー一覧|Excelリファレンス
5.RangeとCellsの使い方|VBA入門
6.FILTER関数(範囲をフィルター処理)|エクセル入門
7.マクロとは?VBAとは?VBAでできること|VBA入門
8.繰り返し処理(For Next)|VBA入門
9.メッセージボックス(MsgBox関数)|VBA入門
10.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。
This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.
