概念: ワークブックでの配列数式
配列
は、複数のスプレッドシート セルに含まれる一連のデータです。配列は視覚的には単純なセルの範囲に見えますが、実際には 1 つの単位として操作できる特殊な構造です。ワークシートの観点から見ると、ライブ データ領域と入力領域が配列の例です。配列ではなく単一のセルを処理する数式が スカラー
数式です。この数式は単一のセルに結果を返します。配列は、1 次元 (複数の値が単一の行または列に含まれる) または 2 次元 (複数の値の矩形セットが複数の列と行の両方に含まれる) のいずれかです。横方向の配列は、中かっこで囲まれ、値と値の間にカンマが入ったテキストで表されます (例: ={1,2,3,4})。垂直方向の配列は、値と値の間にセミコロンが使用されます (例: ={5;6;7;8})。2 次元の配列には両方が使用されます (例: ={1,2,3;4,5,6})。
配列数式
は、配列内の値に対して計算を実行し、結果の配列を返す単一の数式です。配列数式の結果領域は、 スルール
領域と呼ばれます。配列数式には、通常の数式と同じ構文を使用します。以下を実行できます。- 数式を送信して、結果を配列に出力する。配列内のすべてのセルが単一の単位であり、単一のエンティティとして処理されます。これは、複数セルの配列数式です。
- 配列に対して演算を行うための数式を単一のセルで送信する。結果は単一のセルに含まれます。これは、単一セルの配列数式です。単一セルの配列数式は、複数セルの配列数式に比べて使用頻度は低くなります。
配列数式では、SUM や COUNT などの多くの一般的な関数を使用できます。TRANSPOSE など、複数の関数は、配列数式で演算される場合にのみ意味を表します。
配列数式を使用する場合は、以下の考慮事項に留意してください。
- 配列数式を使用するとパフォーマンスが向上する。1,000 個の個別の数式を使用するよりも、10x100 個の複数セル配列数式を使用する方が短時間ですみます。
- 複数セルの配列数式を使用すると、自分や他のユーザーが誤ってセルの数式を上書きするのを防ぐことができる。
- スプレッド領域の左上のセル (ルート セルとも呼ばれる) を除き、配列内の個々のセルを編集することはできません。スプレッド領域で別のセルを選択すると、数式バーに数式が表示されますが、変更はできません。数式を更新するには、ルート セルを選択し、必要に応じて変更します。Enter キーを押すと、ワークシートで残りのスプレッド領域が自動的に更新されます。
制約ありおよび制約なしの配列数式
数式内で、結果を出力するセルの正確な範囲を指定する場合、制約付き配列数式を使用します。制約付き配列数式は、結果セットを出力する範囲がはっきりわかっている場合にのみ使用してください。範囲内のデータを追加したり削除したりする場合は、その変更を反映して配列数式を変更する必要があります。
ワークシートには、配列データを操作するためのより柔軟な方法が用意されています。Workday レポート データや入力領域データなどのライブ データを操作する場合、ライブ データをリフレッシュするたびにデータ配列のサイズが変わる可能性があります。配列数式は、このような変更に対応する必要があります。ワークシートでは、制約のない配列数式を使用して、配列サイズの変化に対応します。出力用に特定の配列サイズを指定せずに数式を送信して、ワークシートが配列結果セットを動的に決定できるようにする場合は、制約のない配列数式を使用します。
「制約のない」という言葉は、以下のような異なるいくつかの状況で使用されます。
- GROUPBY などの数式の場合、その出力は可変であるため、制約のない配列数式と呼ばれます。
- Workday レポート データ セットなどのライブ データ配列は、ライブ データがリフレッシュされた場合に配列サイズが拡大または縮小する可能性があるため、制約のない配列です。
- B:B などの範囲参照は、その列内でデータが含まれるセルの数を指定していないため、制約のない列参照です。
配列数式の送信
配列数式は、以下のいずれかの場所から送信してください。
- 数式バー。
- 数式が含まれるセル。送信する前にセルをダブルクリックして、セルを確実にアクティブにしてください。
以下のキーボード ショートカットを使用して、配列数式を送信できます。
- 制約のない配列数式を送信するには、Ctrl + Alt + Enter (Windows) または Command + Option + Enter (Mac) を押します。結果が、範囲内のすべての必須セルに表示されます。空のセルが足りないために結果全体を表示できない場合は、エラーが発生します。結果を表示するのに十分な空のセルがあることを確認してください。
- 制約付き配列数式を送信するには、Ctrl + Shift + Enter (Windows) または Command + Shift + Enter (Mac) を押します。結果は、選択した範囲内にのみ表示されます。これは他の一般的なスプレッドシート製品で見られる動作と同じです。