2.4.4 Array

The Array record specifies an array formula (section 2.2.2) for a range of cells that performs calculations on one or more sets of values, and then returns either a single result or multiple results across a continuous range of cells. This record is preceded by a single Formula record (section 2.4.127) that defines the first cell in the range that uses this array formula (section 2.2.2). Other Formula records (section 2.4.127) that use this array formula (section 2.2.2) follow later in the file, not necessarily in a contiguous sequence. Formula records (section 2.4.127) that use this array formula (section 2.2.2) MUST have a cell field that is within the range specified in the ref field of this record and MUST have their formula begin with PtgExp (section 2.5.198.58). Also, each cell specified in the ref field MUST have a Formula (section 2.4.127) that uses this array formula (section 2.2.2).


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

ref

...

A

reserved

unused

formula (variable)

...

ref (6 bytes): A Ref structure (section 2.5.207) that specifies the range of the array formula (section 2.2.2).

A - fAlwaysCalc (1 bit): A bit that specifies whether the array formula (section 2.2.2) needs to be calculated during the next recalculation.

reserved (15 bits): MUST be zero, and MUST be ignored.

unused (4 bytes): Undefined and MUST be ignored.

formula (variable): An ArrayParsedFormula structure (section 2.5.198.1) that specifies the array formula (section 2.2.2).