Introduction
Ver. 2021 365
「動的配列数式」とは、これまでExcelで使用されていた、「Ctrl」+「Shift」+「Enter」での配列数式に新しく置き代わるものです。
この機能は2019年12月、Office365で使えるようになりました。
また、「動的配列数式」の中身が隣接するセルに返された状態を「スピル」と呼んでいます。
配列って?
動的配列数式とは
動的配列数式の説明の前に、配列数式について簡単に説明しておきます。
Excelには昔から1つのセルに複数のデータをしまう事ができる「配列」という仕組みが存在しています。
Excelでの「配列」とは、簡単に言うと一つの箱の中に、他の箱を用意することです。
下のようなイメージです。
この配列の利点の一つとして、実際のセルを使用せずに仮想的に範囲を指定できることが挙げられます。
ちょっと想像しづらいですね。
通常、Excelで各数値を使用するには、それぞれに対して1つのセルを使用する必要があります。
例えば下のように「B2」から「D3」まで、必要な数値があれば入力しますね。
当たり前の話です。
しかし、配列を使用すると1つのセルに入力した式で、複数の数値を利用することができるのです。
下の画像は「B2」に ={1,2,3;10,20,30} と入力したものです。
これで「B1」のセルを使用しただけで、あたかも他のセルを使用したような使い方ができるようになるということ。
(配列に直接データを入力する際は、全体を「{}」で囲み、列の区切りはカンマ「,」、行の区切りはセミコロン「;」を使用します。)
そして、この配列を数式で使用することができます。
それが配列数式。
配列数式を使用する際は、全体範囲を選択後、先頭のセルに数式を入力して、最後を「Enter」ではなく、「Ctrl」+「Shift」+「Enter」で確定する必要があります。
※そのため、これまでの配列数式を頭文字を取って「CSE」方式と呼ぶ事もあります。
例えば、下のように範囲指定して、「Ctrl」+「Shift」+「Enter」で確定すると、
式の前後が「{}」で囲まれ、数式が配列数式として扱われます。
この「配列数式」は、これまでのExcelで使用できたものです。
そこに最近「動的」という言葉が付いた。ここが大事なところですね。
これまでの「配列数式」との違いの大きな点をまとめると下のようになります。
- 複数の結果を返す式の場合は、「Ctrl」+「Shift」+「Enter」で確定しなくても自動で配列数式となる。
- これまでと違い「スピル」される。
- これまでの配列は全体のセル範囲に式が存在するが、動的配列数式の場合は、入力したセルのみ式が存在する。
順番に見ていきましょう。
1つめの
と、2つめの
ですが、
動的配列数式が使える最近のExcelでは、下のように数式で複数のデータが返される範囲を指定した場合、「Ctrl」+「Shift」+「Enter」で確定しなくても、
自動で「配列数式」と認識され、さらに収納された配列が外に表示されます。これを「スピル」と呼んでいます。
つまり、スピルとは、自動で数式の中身が隣接したセルにあふれ出て表示されること。
その動きは、出力範囲が動的にサイズ変更されているとも言えますね。
これが「動的配列数式」の1番の特徴と言えるでしょう。
3つめの
ですが、
下の画像は「A列」の数値を「B列」に配列として表示している状態です。
これまでの配列で表示した場合は、全てのセルに同じ配列数式が入っている必要があります。
それと異なり、動的配列数式では、数式が入っているのは「B1」だけで、残りのセルはスピル範囲となり、実際には数式が入っていません。
※スピルされて表示されているセルは「ゴースト」と呼ばれます。
つまり、これまでの配列数式と異なり、1つのセルに式を入れるだけで済むということになります。
まとめ
「動的配列数式」の特徴は説明したようにいくつかあるのですが、
強引に一言でまとめると、
複数の結果を返す式を入力すると、自動で配列数式になり、その配列内のデータが自動で隣接したセルにも表示される
という感じになります。
この動的配列数式が使えるようになり、Excelで使える関数も増えました。
「FILTER関数、SORT関数、SORTBY関数、UNIQUE関数、SEQUENCE関数、RANDARRAY関数」
エクセルがさらに便利に簡単に使えるようになりそうですね。
また、最近のバージョンでも、互換性を維持するため、これまでのCSE方式の配列は使用できますよ。
今後に注目だにゃ