配列とも呼ばれる一連の値を返す Excel の数式は、これらの値を隣接するセルに返します。 この動作はスピルと呼ばれます。
可変サイズの配列を返すことができる数式は、 動的配列 数式と呼ばれます。 正常に収まるされている配列を現在返す数式は、 こぼれた配列 数式として参照できます。
次に、これらの種類の数式を理解して使用するのに役立ついくつかのヒントを紹介します。
スピルとはどういう意味ですか?
注: " 従来の配列 数式" と呼ばれる以前の配列数式は、常に固定サイズの結果を返し、常に同じ数のセルにスピルされます。 このトピックで説明する収まる動作は、従来の配列数式には適用されません。
スピルは、数式の結果が複数の値になり、それらの値が隣接するセルに配置されていることを意味します。 たとえば、 = SORT (D2: D11, 1,-1) を 指定すると、配列は降順で並べ替えられます。これは、10行の高さの対応する配列を返します。 ただし、左上のセル (この場合は F2) に数式を入力するだけで、セル F11 に自動的に移動します。
重要なポイント
-
Enter キーを押して数式を確定すると、Excel によって出力範囲のサイズが動的に変更され、結果がその範囲内の各セルに配置されます。
-
動的配列数式を作成してデータのリストに基づいて処理する場合は、 Excel のテーブルに式を配置し、 構造化参照 を使用してデータを参照すると便利です。 これは、テーブルに対して行が追加または削除されると、構造化参照が自動的に調整されるためです。
-
この配列数式は、Excel テーブル自体でサポートされていないため、表の外側にあるグリッドに配置する必要があります。 テーブルは、独立したデータの行と列を保持するのに最適です。
-
こぼれた配列数式を入力すると、スピル領域内の任意のセルを選択すると、その範囲の周りに強調表示された境界線が配置されます。 領域の外側のセルを選択すると、罫線が表示されなくなります。
-
スピル領域の最初のセルのみを編集できます。 スピル領域で別のセルを選択すると、数式は数式バーに表示されますが、テキストは "ゴースト" であり、変更できません。 数式を更新する必要がある場合は、配列範囲の左上のセルを選択し、必要に応じて変更する必要があります。 enterキーを押したときに、Excel によって残りのスピル領域が自動的に更新されます。
-
数式の重なり: 出力範囲がブロックされている場合、配列数式を入力することはできません。 この場合、Excel は、ブロックされていることを示す #SPILL! エラーを返します。 ブロックを取り除くと、数式は正常にスピルされます。 次の例では、数式の出力範囲がデータを含む別の範囲に重複しています。表示されるのは、境界が重なっていないことを示す値を持つ点線で囲まれたセルです。 ブロック中のデータを削除するか、別の場所にコピーすると、数式は期待どおりにスピルされます。
-
CTRL キーと SHIFT キーを押しながら ENTER キー (CSE) を使用して入力した従来の配列数式は、後方互換性の理由で引き続きサポートされますが、今後使用することはできません。 必要に応じて、配列範囲の最初のセルを検索し、数式のテキストをコピーして、従来の配列の範囲全体を削除してから、左上のセルに数式を再入力して、従来の配列数式を動的配列数式に変換することができます。 従来の配列数式を動的配列数式にアップグレードする前に、2つの間の 計算の違いがいくつかわかっている必要があります。
-
Excel では、ブック間の動的配列のサポートが制限されており、このシナリオは双方のブックが開いているときにのみサポートされます。 元のブックが閉じられている場合、リンク済みの動的配列数式は更新されるとエラー値 #REF! を返します。
補足説明
Excel Tech Community では、いつでも専門家に質問できます。Microsoft コミュニティでは、サポートを受けられます。また、Excel User Voice では、新機能についての提案や改善案を送信することができます。