2018年9月に、 Excel for Microsoft 365の動的配列数式をリリースしました。 動的配列と従来の Ctrl + Shift + Enter (CSE) 数式の違いについては、以下で説明します。
注: 現時点では、これは Office insider の一部のみが利用できる機能です。 今後数か月にわたり、これらの機能の最適化を行う予定です。 準備ができたら、すべての Office Insider と Microsoft 365 サブスクライバーにリリースします。
動的配列数式:
-
数式が入力されているセル範囲の外側に "スピル" できます。 次の例は、D1: F5、または5行の列によって表示される D1 の RANDARRAY 関数 を示しています。 動的配列数式はセル D1 にのみ存在しますが、従来の CSE 数式では、数式を範囲全体に入力する必要があります。
-
ソース範囲からデータが追加または削除されると、サイズが自動的に変更されます。 CSE 配列数式では、値が小さすぎる場合は戻り値が切り捨てられ、大きすぎる場合は #N/A が返されます。
-
1x1 コンテキストで計算します。 たとえば、 RAND 関数 は1つの結果を返します。複数の乱数を grid に返す場合は、 RANDARRAY 関数を使用することができます。 行と列の関数は、ソースセルの行と列を返します。 SEQUENCE(ROW ()) を使用して、従来の配列数式の行の以前の動作を複製することができます。
-
1つ以上の結果を返す新しい数式は、自動的にスピルされます。 Ctrl キーと Shift キーを押しながら Enter キーを押す必要はありません。
-
CSE 配列数式は、互換性の理由で保持されます。 今後は、代わりに動的配列数式を使用する必要があります。
-
従来の CSE 配列数式内のセルが相互に依存している場合、Excel は配列としてではなくそれぞれ個別に計算を試みます。 この動作は "CSE の分割" と呼ばれていましたが、特定の状況では、この方法で計算された数式を使うと、一貫性のない結果が生じる可能性があります。 一貫した結果が得られないようにするには、CSE の分割に頼るのではなく、個別の数式を使用することをお勧めします。 動的配列数式が分割されることはありません。 代わりに、循環参照が報告されて、対応できるようになります。
-
ソースセルを変更して簡単に変更できますが、CSE 配列数式では、範囲全体を同時に編集する必要があります。
-
列と行の挿入/削除は、アクティブな CSE 配列数式の範囲で禁止されています。 そのような既存の配列数式は、最初に削除する必要があります。
補足説明
Excel 技術コミュニテでは、いつでも専門家に質問できます。また、Answers コミュニティでは、サポートを受けられます。