Excelは、共有数式と配列数式を定義します。違いはなんですか?私の理解では、配列数式は現在廃止されています。これは本当ですか?配列数式を共有数式に変換することは可能ですか?
2 に答える
OpenOfficeのMicrosoftExcelファイル形式(PDF参照)のセクション4.8を見てください。
配列数式(BIFF2-BIFF8)と共有数式(BIFF5-BIFF8)は、セルの範囲にまたがる数式です。配列数式は、スプレッドシートの単一セル数式とは異なる方法で処理されます。共有数式は、ファイルサイズを小さくするための最適化にすぎず、他のセル数式と区別できません。当然、配列数式を同時に共有数式にすることはできません。共有数式は、たとえば、単一の数式セルからセル範囲を埋めるときに作成されます。
一般に、配列または共有式は、配列式の場合はARRAYレコード(➜5.4)、共有式の場合はSHAREDFMLAレコード(➜5.94)のいずれかで、ファイルに1回だけ保存されます。これらのレコードは、フォーミュラセルブロック(➜4.7.2)の一部です。これらは、この範囲20の最初のFORMULAレコード(➜5.50)の直後に続きます。すべての配列または共有数式セルには、数式データへの参照が含まれています。この参照(tExpトークン、➜3.10.1)は、範囲の左上のセルのセルアドレスで構成されます。このようにして、各数式セルをその数式データに関連付けることができます。
式が文字列値を返す場合、通常はSTRINGレコード(➜5.102)がFORMULAレコードの後に続きます。配列および共有式の場合、このSTRINGレコードはARRAYまたはSHAREDFMLAレコードの後に続きます。
20共有数式の場合、最初のFORMULAレコードは範囲の左上のセルではない場合があります。共有数式自体(残りの数式セル)を無効にすることなく、共有数式範囲の単一のセルを上書きすることができます。
共有数式は、数式を格納するためのより効率的な手段です。
配列数式は重要な機能を追加し、決して時代遅れではありません。たとえば、MMULT 関数は複数の値を返すことができます。これらの複数の値を複数のセルに取得するには、配列数式を使用する必要があります。配列数式をセル範囲に入力するには、範囲を選択し、数式を入力して、Ctrl + Shift + Enter キーを押します。