2018 年 9 月に、Excel for Microsoft 365 用の動的配列数式をリリースしました。 以下のセクションでは、動的配列と従来の Ctrl+Shift+Enter (CSE) 数式の違いについて説明します。
動的配列数式:
数式を入力するセル境界の外側に "スピル" することができます。 次の例は、D1 の RANDARRAY 関数 を示しています。これは、D1:F5、つまり 5 行 x 3 列にわたってスピルします。 動的配列数式をセル D1 にのみ入力すると、隣接するセルにその結果がスピルされます。 これに対し、出力範囲全体に従来の CSE 数式を入力し、Ctrl+Shift+Enter を押して確認する必要があります。
ソース範囲にデータを追加または削除すると、自動的にサイズ変更されます。 CSE 配列数式は、戻り領域が小さすぎる場合は切り捨てられ、大きすぎる場合は #N/A が返されます。
単一セルのコンテキストで数式を評価する。 たとえば、 RAND 関数 は 1 つの結果を返すため、複数の乱数をグリッドに返す場合は、 RANDARRAY 関数を使用します。 参照引数を省略すると、 ROW 関数と COLUMN 関数は、数式を含むセルの行番号と列番号を返します。 シーケンシャル配列を生成するには、 SEQUENCE 関数を使用し、必要な行数または列数を指定します。
複数の結果が返されたときに自動的にスピルします。 Ctrl キー + Shift キー + Enter キーを押す必要はありません。
互換性の理由から Excel には CSE 配列数式が保持されています。 新しいブックには、代わりに動的配列数式を使用します。
従来の CSE 配列数式のセルが相互に依存している場合、Excel はそれぞれを配列としてではなく個別に計算しようとしました。 この動作は "CSE 解散" と呼ばれ、特定の状況下では、この方法で計算された数式は一貫性のない結果を生成する可能性があります。 一貫性のない結果が生じる可能性を避けるには、CSE の内訳に依存するのではなく、個別の数式を使用します。 動的配列数式は分割されません。 代わりに、循環参照が報告されるため、対処できます。
ソース セルを変更することで簡単に変更できますが、CSE 配列数式は範囲全体を同時に編集する必要があります。
アクティブな CSE 配列の数式範囲内で行や列を挿入または削除することはできません。 これらの変更を行うには、まず配列数式を削除します。
補足説明
Excel 技術コミュニティの専門家にいつでも質問するか、コミュニティでサポートを受けることができます。