07.05.2014 Views

The Microsoft Excel File Format - OpenOffice.org

The Microsoft Excel File Format - OpenOffice.org

The Microsoft Excel File Format - OpenOffice.org

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.1 Common Formula Structure<br />

3.1.6 Additional Token Data<br />

A few tokens contain additional data that does not follow the token identifier, but is appended to the token array. Its size<br />

is not contained in the leading field containing the token array size. Affected tokens are the tArray token (➜3.8.7), the<br />

tMemArea token (➜3.9.4), and a few subtypes of the the tNlr token (➜3.10.4). <strong>The</strong> additional data of each token is<br />

appended in the same order the tokens are located in the token array.<br />

Example: <strong>The</strong> formula ={1}+A1:A2 A2:A3+{2} contains 3 tokens with additional data: 2 tArray tokens<br />

representing the contant arrays, and a tMemArea token containing the result of the intersection operator (the cell<br />

reference A2). <strong>The</strong> detailed example below applies for BIFF8.<br />

• <strong>The</strong> RPN representation of the formula is: {1}, A1:A2, A2:A3, “ ”, +, {2}, +.<br />

• Written in <strong>Excel</strong> token notation, this is (the term A1:A2, A2:A3, “ ” is led by a tMemArea token):<br />

tArrayV({1}), tMemAreaV(A2), tAreaR(A1:A2), tAreaR(A2:A3), tIsect, tAdd, tArrayV({2}), tAdd.<br />

Offset Size Token name Description<br />

0 2 Size of the following formula data (44 bytes), without the additional<br />

data following the last tAdd token<br />

2 8 tArrayV Placeholder for first constant array {1}<br />

10 7 tMemAreaV Constant reference subexpression follows in next 19 bytes (until and<br />

including the tIsect token)<br />

17 9 tAreaR Cell reference A1:A2<br />

26 9 tAreaR Cell reference A2:A3<br />

35 1 tIsect Intersection operator<br />

36 1 tAdd Addition operator<br />

37 8 tArrayV Placeholder for second constant array {2}<br />

45 1 tAdd Addition operator<br />

46 12 Constant value array (➜2.5.8) containing the values of the constant<br />

array {1}: contains width 1, height 1, value 1<br />

58 10 Cell range address list (➜2.5.15) containing the result of the<br />

reference subexpression A1:A2 A2:A3: a one-element list with the<br />

cell address A2<br />

68 12 Constant value array (➜2.5.8) containing the values of the constant<br />

array {2}: contains width 1, height 1, value 2<br />

31

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!