surpass 0.0.9 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,1013 +1,1016 @@
1
- # lots of Excel Magic Numbers
2
- # Boundaries BIFF8+
1
+ module ExcelMagic
2
+ # lots of Excel Magic Numbers
3
+ # Boundaries BIFF8+
4
+
5
+ MAX_ROW = 65536
6
+ MAX_COL = 256
7
+
8
+
9
+ BIFF_RECORDS = {
10
+ 0x0000 => "DIMENSIONS",
11
+ 0x0001 => "BLANK",
12
+ 0x0002 => "INTEGER",
13
+ 0x0003 => "NUMBER",
14
+ 0x0004 => "LABEL",
15
+ 0x0005 => "BOOLERR",
16
+ 0x0006 => "FORMULA",
17
+ 0x0007 => "STRING",
18
+ 0x0008 => "ROW",
19
+ 0x0009 => "BOF",
20
+ 0x000A => "EOF",
21
+ 0x000B => "INDEX",
22
+ 0x000C => "CALCCOUNT",
23
+ 0x000D => "CALCMODE",
24
+ 0x000E => "PRECISION",
25
+ 0x000F => "REFMODE",
26
+ 0x0010 => "DELTA",
27
+ 0x0011 => "ITERATION",
28
+ 0x0012 => "PROTECT",
29
+ 0x0013 => "PASSWORD",
30
+ 0x0014 => "HEADER",
31
+ 0x0015 => "FOOTER",
32
+ 0x0016 => "EXTERNCOUNT",
33
+ 0x0017 => "EXTERNSHEET",
34
+ 0x0018 => "NAME",
35
+ 0x0019 => "WINDOWPROTECT",
36
+ 0x001A => "VERTICALPAGEBREAKS",
37
+ 0x001B => "HORIZONTALPAGEBREAKS",
38
+ 0x001C => "NOTE",
39
+ 0x001D => "SELECTION",
40
+ 0x001E => "FORMAT",
41
+ 0x001F => "FORMATCOUNT",
42
+ 0x0020 => "COLUMNDEFAULT",
43
+ 0x0021 => "ARRAY",
44
+ 0x0022 => "1904",
45
+ 0x0023 => "EXTERNNAME",
46
+ 0x0024 => "COLWIDTH",
47
+ 0x0025 => "DEFAULTROWHEIGHT",
48
+ 0x0026 => "LEFTMARGIN",
49
+ 0x0027 => "RIGHTMARGIN",
50
+ 0x0028 => "TOPMARGIN",
51
+ 0x0029 => "BOTTOMMARGIN",
52
+ 0x002A => "PRINTHEADERS",
53
+ 0x002B => "PRINTGRIDLINES",
54
+ 0x002F => "FILEPASS",
55
+ 0x0031 => "FONT",
56
+ 0x0036 => "TABLE",
57
+ 0x003C => "CONTINUE",
58
+ 0x003D => "WINDOW1",
59
+ 0x003E => "WINDOW2",
60
+ 0x0040 => "BACKUP",
61
+ 0x0041 => "PANE",
62
+ 0x0042 => "CODEPAGE",
63
+ 0x0043 => "XF",
64
+ 0x0044 => "IXFE",
65
+ 0x0045 => "EFONT",
66
+ 0x004D => "PLS",
67
+ 0x0050 => "DCON",
68
+ 0x0051 => "DCONREF",
69
+ 0x0053 => "DCONNAME",
70
+ 0x0055 => "DEFCOLWIDTH",
71
+ 0x0056 => "BUILTINFMTCNT",
72
+ 0x0059 => "XCT",
73
+ 0x005A => "CRN",
74
+ 0x005B => "FILESHARING",
75
+ 0x005C => "WRITEACCESS",
76
+ 0x005D => "OBJ",
77
+ 0x005E => "UNCALCED",
78
+ 0x005F => "SAFERECALC",
79
+ 0x0060 => "TEMPLATE",
80
+ 0x0063 => "OBJPROTECT",
81
+ 0x007D => "COLINFO",
82
+ 0x007E => "RK",
83
+ 0x007F => "IMDATA",
84
+ 0x0080 => "GUTS",
85
+ 0x0081 => "WSBOOL",
86
+ 0x0082 => "GRIDSET",
87
+ 0x0083 => "HCENTER",
88
+ 0x0084 => "VCENTER",
89
+ 0x0085 => "BOUNDSHEET",
90
+ 0x0086 => "WRITEPROT",
91
+ 0x0087 => "ADDIN",
92
+ 0x0088 => "EDG",
93
+ 0x0089 => "PUB",
94
+ 0x008C => "COUNTRY",
95
+ 0x008D => "HIDEOBJ",
96
+ 0x008E => "BUNDLESOFFSET",
97
+ 0x008F => "BUNDLEHEADER",
98
+ 0x0090 => "SORT",
99
+ 0x0091 => "SUB",
100
+ 0x0092 => "PALETTE",
101
+ 0x0093 => "STYLE",
102
+ 0x0094 => "LHRECORD",
103
+ 0x0095 => "LHNGRAPH",
104
+ 0x0096 => "SOUND",
105
+ 0x0098 => "LPR",
106
+ 0x0099 => "STANDARDWIDTH",
107
+ 0x009A => "FNGROUPNAME",
108
+ 0x009B => "FILTERMODE",
109
+ 0x009C => "FNGROUPCOUNT",
110
+ 0x009D => "AUTOFILTERINFO",
111
+ 0x009E => "AUTOFILTER",
112
+ 0x00A0 => "SCL",
113
+ 0x00A1 => "SETUP",
114
+ 0x00A9 => "COORDLIST",
115
+ 0x00AB => "GCW",
116
+ 0x00AE => "SCENMAN",
117
+ 0x00AF => "SCENARIO",
118
+ 0x00B0 => "SXVIEW",
119
+ 0x00B1 => "SXVD",
120
+ 0x00B2 => "SXVI",
121
+ 0x00B4 => "SXIVD",
122
+ 0x00B5 => "SXLI",
123
+ 0x00B6 => "SXPI",
124
+ 0x00B8 => "DOCROUTE",
125
+ 0x00B9 => "RECIPNAME",
126
+ 0x00BC => "SHRFMLA",
127
+ 0x00BD => "MULRK",
128
+ 0x00BE => "MULBLANK",
129
+ 0x00C1 => "MMS",
130
+ 0x00C2 => "ADDMENU",
131
+ 0x00C3 => "DELMENU",
132
+ 0x00C5 => "SXDI",
133
+ 0x00C6 => "SXDB",
134
+ 0x00C7 => "SXFIELD",
135
+ 0x00C8 => "SXINDEXLIST",
136
+ 0x00C9 => "SXDOUBLE",
137
+ 0x00CD => "SXSTRING",
138
+ 0x00CE => "SXDATETIME",
139
+ 0x00D0 => "SXTBL",
140
+ 0x00D1 => "SXTBRGITEM",
141
+ 0x00D2 => "SXTBPG",
142
+ 0x00D3 => "OBPROJ",
143
+ 0x00D5 => "SXIDSTM",
144
+ 0x00D6 => "RSTRING",
145
+ 0x00D7 => "DBCELL",
146
+ 0x00DA => "BOOKBOOL",
147
+ 0x00DC => "SXEXT|PARAMQRY",
148
+ 0x00DD => "SCENPROTECT",
149
+ 0x00DE => "OLESIZE",
150
+ 0x00DF => "UDDESC",
151
+ 0x00E0 => "XF",
152
+ 0x00E1 => "INTERFACEHDR",
153
+ 0x00E2 => "INTERFACEEND",
154
+ 0x00E3 => "SXVS",
155
+ 0x00E5 => "MERGEDCELLS",
156
+ 0x00E9 => "BITMAP",
157
+ 0x00EB => "MSODRAWINGGROUP",
158
+ 0x00EC => "MSODRAWING",
159
+ 0x00ED => "MSODRAWINGSELECTION",
160
+ 0x00F0 => "SXRULE",
161
+ 0x00F1 => "SXEX",
162
+ 0x00F2 => "SXFILT",
163
+ 0x00F6 => "SXNAME",
164
+ 0x00F7 => "SXSELECT",
165
+ 0x00F8 => "SXPAIR",
166
+ 0x00F9 => "SXFMLA",
167
+ 0x00FB => "SXFORMAT",
168
+ 0x00FC => "SST",
169
+ 0x00FD => "LABELSST",
170
+ 0x00FF => "EXTSST",
171
+ 0x0100 => "SXVDEX",
172
+ 0x0103 => "SXFORMULA",
173
+ 0x0122 => "SXDBEX",
174
+ 0x0137 => "CHTRINSERT",
175
+ 0x0138 => "CHTRINFO",
176
+ 0x013B => "CHTRCELLCONTENT",
177
+ 0x013D => "TABID",
178
+ 0x0140 => "CHTRMOVERANGE",
179
+ 0x014D => "CHTRINSERTTAB",
180
+ 0x015F => "LABELRANGES",
181
+ 0x0160 => "USESELFS",
182
+ 0x0161 => "DSF",
183
+ 0x0162 => "XL5MODIFY",
184
+ 0x0196 => "CHTRHEADER",
185
+ 0x01A9 => "USERBVIEW",
186
+ 0x01AA => "USERSVIEWBEGIN",
187
+ 0x01AB => "USERSVIEWEND",
188
+ 0x01AD => "QSI",
189
+ 0x01AE => "SUPBOOK",
190
+ 0x01AF => "PROT4REV",
191
+ 0x01B0 => "CONDFMT",
192
+ 0x01B1 => "CF",
193
+ 0x01B2 => "DVAL",
194
+ 0x01B5 => "DCONBIN",
195
+ 0x01B6 => "TXO",
196
+ 0x01B7 => "REFRESHALL",
197
+ 0x01B8 => "HLINK",
198
+ 0x01BA => "CODENAME",
199
+ 0x01BB => "SXFDBTYPE",
200
+ 0x01BC => "PROT4REVPASS",
201
+ 0x01BE => "DV",
202
+ 0x01C0 => "XL9FILE",
203
+ 0x01C1 => "RECALCID",
204
+ 0x0200 => "DIMENSIONS",
205
+ 0x0201 => "BLANK",
206
+ 0x0203 => "NUMBER",
207
+ 0x0204 => "LABEL",
208
+ 0x0205 => "BOOLERR",
209
+ 0x0206 => "FORMULA",
210
+ 0x0207 => "STRING",
211
+ 0x0208 => "ROW",
212
+ 0x0209 => "BOF",
213
+ 0x020B => "INDEX",
214
+ 0x0218 => "NAME",
215
+ 0x0221 => "ARRAY",
216
+ 0x0223 => "EXTERNNAME",
217
+ 0x0225 => "DEFAULTROWHEIGHT",
218
+ 0x0231 => "FONT",
219
+ 0x0236 => "TABLE",
220
+ 0x023E => "WINDOW2",
221
+ 0x0243 => "XF",
222
+ 0x027E => "RK",
223
+ 0x0293 => "STYLE",
224
+ 0x0406 => "FORMULA",
225
+ 0x0409 => "BOF",
226
+ 0x041E => "FORMAT",
227
+ 0x0443 => "XF",
228
+ 0x04BC => "SHRFMLA",
229
+ 0x0800 => "SCREENTIP",
230
+ 0x0803 => "WEBQRYSETTINGS",
231
+ 0x0804 => "WEBQRYTABLES",
232
+ 0x0809 => "BOF",
233
+ 0x0862 => "SHEETLAYOUT",
234
+ 0x0867 => "SHEETPROTECTION",
235
+ 0x1001 => "UNITS",
236
+ 0x1002 => "ChartChart",
237
+ 0x1003 => "ChartSeries",
238
+ 0x1006 => "ChartDataformat",
239
+ 0x1007 => "ChartLineformat",
240
+ 0x1009 => "ChartMarkerformat",
241
+ 0x100A => "ChartAreaformat",
242
+ 0x100B => "ChartPieformat",
243
+ 0x100C => "ChartAttachedlabel",
244
+ 0x100D => "ChartSeriestext",
245
+ 0x1014 => "ChartChartformat",
246
+ 0x1015 => "ChartLegend",
247
+ 0x1016 => "ChartSerieslist",
248
+ 0x1017 => "ChartBar",
249
+ 0x1018 => "ChartLine",
250
+ 0x1019 => "ChartPie",
251
+ 0x101A => "ChartArea",
252
+ 0x101B => "ChartScatter",
253
+ 0x101C => "ChartChartline",
254
+ 0x101D => "ChartAxis",
255
+ 0x101E => "ChartTick",
256
+ 0x101F => "ChartValuerange",
257
+ 0x1020 => "ChartCatserrange",
258
+ 0x1021 => "ChartAxislineformat",
259
+ 0x1022 => "ChartFormatlink",
260
+ 0x1024 => "ChartDefaulttext",
261
+ 0x1025 => "ChartText",
262
+ 0x1026 => "ChartFontx",
263
+ 0x1027 => "ChartObjectLink",
264
+ 0x1032 => "ChartFrame",
265
+ 0x1033 => "BEGIN",
266
+ 0x1034 => "END",
267
+ 0x1035 => "ChartPlotarea",
268
+ 0x103A => "Chart3D",
269
+ 0x103C => "ChartPicf",
270
+ 0x103D => "ChartDropbar",
271
+ 0x103E => "ChartRadar",
272
+ 0x103F => "ChartSurface",
273
+ 0x1040 => "ChartRadararea",
274
+ 0x1041 => "ChartAxisparent",
275
+ 0x1043 => "ChartLegendxn",
276
+ 0x1044 => "ChartShtprops",
277
+ 0x1045 => "ChartSertocrt",
278
+ 0x1046 => "ChartAxesused",
279
+ 0x1048 => "ChartSbaseref",
280
+ 0x104A => "ChartSerparent",
281
+ 0x104B => "ChartSerauxtrend",
282
+ 0x104E => "ChartIfmt",
283
+ 0x104F => "ChartPos",
284
+ 0x1050 => "ChartAlruns",
285
+ 0x1051 => "ChartAI",
286
+ 0x105B => "ChartSerauxerrbar",
287
+ 0x105D => "ChartSerfmt",
288
+ 0x105F => "Chart3DDataFormat",
289
+ 0x1060 => "ChartFbi",
290
+ 0x1061 => "ChartBoppop",
291
+ 0x1062 => "ChartAxcext",
292
+ 0x1063 => "ChartDat",
293
+ 0x1064 => "ChartPlotgrowth",
294
+ 0x1065 => "ChartSiindex",
295
+ 0x1066 => "ChartGelframe",
296
+ 0x1067 => "ChartBoppcustom",
297
+ 0xFFFF => ""
298
+ }
299
+
300
+
301
+ STD_FUNC_BY_NAME = {
302
+ "ABS" => [0x018, 1, 1, "V", "V", false], # 1
303
+ "ACOS" => [0x063, 1, 1, "V", "V", false], # 2
304
+ "ACOSH" => [0x0e9, 1, 1, "V", "V", false], # 3
305
+ "ADDRESS" => [0x0db, 2, 5, "V", "V V V V V", false], # 4
306
+ "AND" => [0x024, 1, 30, "V", "R ...", false], # 5
307
+ "ARCTAN" => [0x012, 1, 1, "V", "V", false], # 6
308
+ "AREAS" => [0x04b, 1, 1, "V", "R", false], # 7
309
+ "ASC" => [0x0d6, 1, 1, "V", "V", false], # 8
310
+ "ASIN" => [0x062, 1, 1, "V", "V", false], # 9
311
+ "ASINH" => [0x0e8, 1, 1, "V", "V", false], # 10
312
+ "ATAN2" => [0x061, 2, 2, "V", "V V", false], # 11
313
+ "ATANH" => [0x0ea, 1, 1, "V", "V", false], # 12
314
+ "AVEDEV" => [0x10d, 1, 30, "V", "R ...", false], # 13
315
+ "AVERAGE" => [0x005, 1, 30, "V", "R ...", false], # 14
316
+ "AVERAGEA" => [0x169, 1, 30, "V", "R ...", false], # 15
317
+ "BETADIST" => [0x10e, 3, 5, "V", "V V V V V", false], # 16
318
+ "BETAINV" => [0x110, 3, 5, "V", "V V V V V", false], # 17
319
+ "BINOMDIST" => [0x111, 4, 4, "V", "V V V V", false], # 18
320
+ "CEILING" => [0x120, 2, 2, "V", "V V", false], # 19
321
+ "CELL" => [0x07d, 1, 2, "V", "V R", true], # 20
322
+ "CHAR" => [0x06f, 1, 1, "V", "V", false], # 21
323
+ "CHIDIST" => [0x112, 2, 2, "V", "V V", false], # 22
324
+ "CHIINV" => [0x113, 2, 2, "V", "V V", false], # 23
325
+ "CHITEST" => [0x132, 2, 2, "V", "A A", false], # 24
326
+ "CHOOSE" => [0x064, 2, 30, "R", "V R ...", false], # 25
327
+ "CLEAN" => [0x0a2, 1, 1, "V", "V", false], # 26
328
+ "CODE" => [0x079, 1, 1, "V", "V", false], # 27
329
+ "COLUMN" => [0x009, 0, 1, "V", "R", false], # 28
330
+ "COLUMNS" => [0x04d, 1, 1, "V", "R", false], # 29
331
+ "COMBIN" => [0x114, 2, 2, "V", "V V", false], # 30
332
+ "CONCATENATE" => [0x150, 0, 30, "V", "V ...", false], # 31
333
+ "CONFIDENCE" => [0x115, 3, 3, "V", "V V V", false], # 32
334
+ "CORREL" => [0x133, 2, 2, "V", "A A", false], # 33
335
+ "COS" => [0x010, 1, 1, "V", "V", false], # 34
336
+ "COSH" => [0x0e6, 1, 1, "V", "V", false], # 35
337
+ "COUNT" => [0x000, 0, 30, "V", "R ...", false], # 36
338
+ "COUNTA" => [0x0a9, 0, 30, "V", "R ...", false], # 37
339
+ "COUNTBLANK" => [0x15b, 1, 1, "V", "R", false], # 38
340
+ "COUNTIF" => [0x15a, 2, 2, "V", "R V", false], # 39
341
+ "COVAR" => [0x134, 2, 2, "V", "A A", false], # 40
342
+ "CRITBINOM" => [0x116, 3, 3, "V", "V V V", false], # 41
343
+ "DATE" => [0x041, 3, 3, "V", "V V V", false], # 42
344
+ "DATEDIF" => [0x15f, 3, 3, "V", "V V V", false], # 43
345
+ "DATESTRING" => [0x160, 1, 1, "V", "V", false], # 44
346
+ "DATEVALUE" => [0x08c, 1, 1, "V", "V", false], # 45
347
+ "DAVERAGE" => [0x02a, 3, 3, "V", "R R R", false], # 46
348
+ "DAY" => [0x043, 1, 1, "V", "V", false], # 47
349
+ "DAYS360" => [0x0dc, 2, 3, "V", "V V V", false], # 48
350
+ "DB" => [0x0f7, 4, 5, "V", "V V V V V", false], # 49
351
+ "DBSC" => [0x0d7, 1, 1, "V", "V", false], # 50
352
+ "DCOUNT" => [0x028, 3, 3, "V", "R R R", false], # 51
353
+ "DCOUNTA" => [0x0c7, 3, 3, "V", "R R R", false], # 52
354
+ "DDB" => [0x090, 4, 5, "V", "V V V V V", false], # 53
355
+ "DEGREES" => [0x157, 1, 1, "V", "V", false], # 54
356
+ "DEVSQ" => [0x13e, 1, 30, "V", "R ...", false], # 55
357
+ "DGET" => [0x0eb, 3, 3, "V", "R R R", false], # 56
358
+ "DMAX" => [0x02c, 3, 3, "V", "R R R", false], # 57
359
+ "DMIN" => [0x02b, 3, 3, "V", "R R R", false], # 58
360
+ "DOLLAR" => [0x00d, 1, 2, "V", "V V", false], # 59
361
+ "DPRODUCT" => [0x0bf, 3, 3, "V", "R R R", false], # 60
362
+ "DSTDEV" => [0x02d, 3, 3, "V", "R R R", false], # 61
363
+ "DSTDEVP" => [0x0c3, 3, 3, "V", "R R R", false], # 62
364
+ "DSUM" => [0x029, 3, 3, "V", "R R R", false], # 63
365
+ "DVAR" => [0x02f, 3, 3, "V", "R R R", false], # 64
366
+ "DVARP" => [0x0c4, 3, 3, "V", "R R R", false], # 65
367
+ "ERROR.TYPE" => [0x105, 1, 1, "V", "V", false], # 66
368
+ "EVEN" => [0x117, 1, 1, "V", "V", false], # 67
369
+ "EXACT" => [0x075, 2, 2, "V", "V V", false], # 68
370
+ "EXP" => [0x015, 1, 1, "V", "V", false], # 69
371
+ "EXPONDIST" => [0x118, 3, 3, "V", "V V V", false], # 70
372
+ "FACT" => [0x0b8, 1, 1, "V", "V", false], # 71
373
+ "FALSE" => [0x023, 0, 0, "V", "-", false], # 72
374
+ "FDIST" => [0x119, 3, 3, "V", "V V V", false], # 73
375
+ "FIND" => [0x07c, 2, 3, "V", "V V V", false], # 74
376
+ "FINDB" => [0x0cd, 2, 3, "V", "V V V", false], # 75
377
+ "FINV" => [0x11a, 3, 3, "V", "V V V", false], # 76
378
+ "FISHER" => [0x11b, 1, 1, "V", "V", false], # 77
379
+ "FISHERINV" => [0x11c, 1, 1, "V", "V", false], # 78
380
+ "FIXED" => [0x00e, 2, 3, "V", "V V V", false], # 79
381
+ "FLOOR" => [0x11d, 2, 2, "V", "V V", false], # 80
382
+ "FORECAST" => [0x135, 3, 3, "V", "V A A", false], # 81
383
+ "FREQUENCY" => [0x0fc, 2, 2, "A", "R R", false], # 82
384
+ "FTEST" => [0x136, 2, 2, "V", "A A", false], # 83
385
+ "FV" => [0x039, 3, 5, "V", "V V V V V", false], # 84
386
+ "GAMMADIST" => [0x11e, 4, 4, "V", "V V V V", false], # 85
387
+ "GAMMAINV" => [0x11f, 3, 3, "V", "V V V", false], # 86
388
+ "GAMMALN" => [0x10f, 1, 1, "V", "V", false], # 87
389
+ "GEOMEAN" => [0x13f, 1, 30, "V", "R ...", false], # 88
390
+ "GETPIVOTDATA" => [0x166, 2, 30, "A", "-", false], # 89
391
+ "GROWTH" => [0x034, 1, 4, "A", "R R R V", false], # 90
392
+ "HARMEAN" => [0x140, 1, 30, "V", "R ...", false], # 91
393
+ "HLOOKUP" => [0x065, 3, 4, "V", "V R R V", false], # 92
394
+ "HOUR" => [0x047, 1, 1, "V", "V", false], # 93
395
+ "HYPERLINK" => [0x167, 1, 2, "V", "V V", false], # 94
396
+ "HYPGEOMVERT" => [0x121, 4, 4, "V", "V V V V", false], # 95
397
+ "IF" => [0x001, 2, 3, "V", "V V V", false], # 96
398
+ "INDEX" => [0x01d, 2, 4, "R", "R V V V", false], # 97
399
+ "INDIRECT" => [0x094, 1, 2, "R", "V V", true], # 98
400
+ "INFO" => [0x0f4, 1, 1, "V", "V", false], # 99
401
+ "INT" => [0x019, 1, 1, "V", "V", false], # 100
402
+ "INTERCEPT" => [0x137, 2, 2, "V", "A A", false], # 101
403
+ "IPMT" => [0x0a7, 4, 6, "V", "V V V V V V", false], # 102
404
+ "IRR" => [0x03e, 1, 2, "V", "R V", false], # 103
405
+ "ISBLANK" => [0x081, 1, 1, "V", "V", false], # 104
406
+ "ISERR" => [0x07e, 1, 1, "V", "V", false], # 105
407
+ "ISERROR" => [0x003, 1, 1, "V", "V", false], # 106
408
+ "ISLOGICAL" => [0x0c6, 1, 1, "V", "V", false], # 107
409
+ "ISNA" => [0x002, 1, 1, "V", "V", false], # 108
410
+ "ISNONTEXT" => [0x0c0, 1, 1, "V", "V", false], # 109
411
+ "ISNUMBER" => [0x080, 1, 1, "V", "V", false], # 110
412
+ "ISPMT" => [0x15e, 4, 4, "V", "V V V V", false], # 111
413
+ "ISREF" => [0x069, 1, 1, "V", "R", false], # 112
414
+ "ISTEXT" => [0x07f, 1, 1, "V", "V", false], # 113
415
+ "KURT" => [0x142, 1, 30, "V", "R ...", false], # 114
416
+ "LARGE" => [0x145, 2, 2, "V", "R V", false], # 115
417
+ "LEFT" => [0x073, 1, 2, "V", "V V", false], # 116
418
+ "LEFTB" => [0x0d0, 1, 2, "V", "V V", false], # 117
419
+ "LEN" => [0x020, 1, 1, "V", "V", false], # 118
420
+ "LENB" => [0x0d3, 1, 1, "V", "V", false], # 119
421
+ "LINEST" => [0x031, 1, 4, "A", "R R V V", false], # 120
422
+ "LN" => [0x016, 1, 1, "V", "V", false], # 121
423
+ "LOG" => [0x06d, 1, 2, "V", "V V", false], # 122
424
+ "LOG10" => [0x017, 1, 1, "V", "V", false], # 123
425
+ "LOGEST" => [0x033, 1, 4, "A", "R R V V", false], # 124
426
+ "LOGINV" => [0x123, 3, 3, "V", "V V V", false], # 125
427
+ "LOGNORMDIST" => [0x122, 3, 3, "V", "V V V", false], # 126
428
+ "LOOKUP" => [0x01c, 2, 3, "V", "V R R", false], # 127
429
+ "LOWER" => [0x070, 1, 1, "V", "V", false], # 128
430
+ "MATCH" => [0x040, 2, 3, "V", "V R R", false], # 129
431
+ "MAX" => [0x007, 1, 30, "V", "R ...", false], # 130
432
+ "MAXA" => [0x16a, 1, 30, "V", "R ...", false], # 131
433
+ "MDETERM" => [0x0a3, 1, 1, "V", "A", false], # 132
434
+ "MEDIAN" => [0x0e3, 1, 30, "V", "R ...", false], # 133
435
+ "MID" => [0x01f, 3, 3, "V", "V V V", false], # 134
436
+ "MIDB" => [0x0d2, 3, 3, "V", "V V V", false], # 135
437
+ "MIN" => [0x006, 1, 30, "V", "R ...", false], # 136
438
+ "MINA" => [0x16b, 1, 30, "V", "R ...", false], # 137
439
+ "MINUTE" => [0x048, 1, 1, "V", "V", false], # 138
440
+ "MINVERSE" => [0x0a4, 1, 1, "A", "A", false], # 139
441
+ "MIRR" => [0x03d, 3, 3, "V", "R V V", false], # 140
442
+ "MMULT" => [0x0a5, 2, 2, "A", "A A", false], # 141
443
+ "MNORMSINV" => [0x128, 1, 1, "V", "V", false], # 142
444
+ "MOD" => [0x027, 2, 2, "V", "V V", false], # 143
445
+ "MODE" => [0x14a, 1, 30, "V", "A ...", false], # 144
446
+ "MONTH" => [0x044, 1, 1, "V", "V", false], # 145
447
+ "N" => [0x083, 1, 1, "V", "R", false], # 146
448
+ "NA" => [0x00a, 0, 0, "V", "-", false], # 147
449
+ "NEGBINOMDIST" => [0x124, 3, 3, "V", "V V V", false], # 148
450
+ "NORMDIST" => [0x125, 4, 4, "V", "V V V V", false], # 149
451
+ "NORMINV" => [0x127, 3, 3, "V", "V V V", false], # 150
452
+ "NORMSDIST" => [0x126, 1, 1, "V", "V", false], # 151
453
+ "NOT" => [0x026, 1, 1, "V", "V", false], # 152
454
+ "NOW" => [0x04a, 0, 0, "V", "-", true], # 153
455
+ "NPER" => [0x03a, 3, 5, "V", "V V V V V", false], # 154
456
+ "NPV" => [0x00b, 2, 30, "V", "V R ...", false], # 155
457
+ "NUMBERSTRING" => [0x161, 2, 2, "V", "V V", false], # 156
458
+ "ODD" => [0x12a, 1, 1, "V", "V", false], # 157
459
+ "OFFSET" => [0x04e, 3, 5, "R", "R V V V V", true], # 158
460
+ "OR" => [0x025, 1, 30, "V", "R ...", false], # 159
461
+ "PEARSON" => [0x138, 2, 2, "V", "A A", false], # 160
462
+ "PERCENTILE" => [0x148, 2, 2, "V", "R V", false], # 161
463
+ "PERCENTRANK" => [0x149, 2, 3, "V", "R V V", false], # 162
464
+ "PERMUT" => [0x12b, 2, 2, "V", "V V", false], # 163
465
+ "PHONETIC" => [0x168, 1, 1, "V", "R", false], # 164
466
+ "PI" => [0x013, 0, 0, "V", "-", false], # 165
467
+ "PMT" => [0x03b, 3, 5, "V", "V V V V V", false], # 166
468
+ "POISSON" => [0x12c, 3, 3, "V", "V V V", false], # 167
469
+ "POWER" => [0x151, 2, 2, "V", "V V", false], # 168
470
+ "PPMT" => [0x0a8, 4, 6, "V", "V V V V V V", false], # 169
471
+ "PROB" => [0x13d, 3, 4, "V", "A A V V", false], # 170
472
+ "PRODUCT" => [0x0b7, 0, 30, "V", "R ...", false], # 171
473
+ "PROPER" => [0x072, 1, 1, "V", "V", false], # 172
474
+ "PV" => [0x038, 3, 5, "V", "V V V V V", false], # 173
475
+ "QUARTILE" => [0x147, 2, 2, "V", "R V", false], # 174
476
+ "RADIANS" => [0x156, 1, 1, "V", "V", false], # 175
477
+ "RAND" => [0x03f, 0, 0, "V", "-", true], # 176
478
+ "RANK" => [0x0d8, 2, 3, "V", "V R V", false], # 177
479
+ "RATE" => [0x03c, 3, 6, "V", "V V V V V V", false], # 178
480
+ "REPLACE" => [0x077, 4, 4, "V", "V V V V", false], # 179
481
+ "REPLACEB" => [0x0cf, 4, 4, "V", "V V V V", false], # 180
482
+ "REPT" => [0x01e, 2, 2, "V", "V V", false], # 181
483
+ "RIGHT" => [0x074, 1, 2, "V", "V V", false], # 182
484
+ "RIGHTB" => [0x0d1, 1, 2, "V", "V V", false], # 183
485
+ "ROMAN" => [0x162, 1, 2, "V", "V V", false], # 184
486
+ "ROUND" => [0x01b, 2, 2, "V", "V V", false], # 185
487
+ "ROUNDDOWN" => [0x0d5, 2, 2, "V", "V V", false], # 186
488
+ "ROUNDUP" => [0x0d4, 2, 2, "V", "V V", false], # 187
489
+ "ROW" => [0x008, 0, 1, "V", "R", false], # 188
490
+ "ROWS" => [0x04c, 1, 1, "V", "R", false], # 189
491
+ "RSQ" => [0x139, 2, 2, "V", "A A", false], # 190
492
+ "SEARCH" => [0x052, 2, 3, "V", "V V V", false], # 191
493
+ "SEARCHB" => [0x0ce, 2, 3, "V", "V V V", false], # 192
494
+ "SECOND" => [0x049, 1, 1, "V", "V", false], # 193
495
+ "SIGN" => [0x01a, 1, 1, "V", "V", false], # 194
496
+ "SIN" => [0x00f, 1, 1, "V", "V", false], # 195
497
+ "SINH" => [0x0e5, 1, 1, "V", "V", false], # 196
498
+ "SKEW" => [0x143, 1, 30, "V", "R ...", false], # 197
499
+ "SLN" => [0x08e, 3, 3, "V", "V V V", false], # 198
500
+ "SLOPE" => [0x13b, 2, 2, "V", "A A", false], # 199
501
+ "SMALL" => [0x146, 2, 2, "V", "R V", false], # 200
502
+ "SQRT" => [0x014, 1, 1, "V", "V", false], # 201
503
+ "STANDARDIZE" => [0x129, 3, 3, "V", "V V V", false], # 202
504
+ "STDEV" => [0x00c, 1, 30, "V", "R ...", false], # 203
505
+ "STDEVA" => [0x16e, 1, 30, "V", "R ...", false], # 204
506
+ "STDEVP" => [0x0c1, 1, 30, "V", "R ...", false], # 205
507
+ "STDEVPA" => [0x16c, 1, 30, "V", "R ...", false], # 206
508
+ "STEYX" => [0x13a, 2, 2, "V", "A A", false], # 207
509
+ "SUBSTITUTE" => [0x078, 3, 4, "V", "V V V V", false], # 208
510
+ "SUBTOTAL" => [0x158, 2, 30, "V", "V R ...", false], # 209
511
+ "SUM" => [0x004, 0, 30, "V", "R ...", false], # 210
512
+ "SUMIF" => [0x159, 2, 3, "V", "R V R", false], # 211
513
+ "SUMPRODUCT" => [0x0e4, 1, 30, "V", "A ...", false], # 212
514
+ "SUMSQ" => [0x141, 0, 30, "V", "R ...", false], # 213
515
+ "SUMX2MY2" => [0x130, 2, 2, "V", "A A", false], # 214
516
+ "SUMX2PY2" => [0x131, 2, 2, "V", "A A", false], # 215
517
+ "SUMXMY2" => [0x12f, 2, 2, "V", "A A", false], # 216
518
+ "SYD" => [0x08f, 4, 4, "V", "V V V V", false], # 217
519
+ "T" => [0x082, 1, 1, "V", "R", false], # 218
520
+ "TAN" => [0x011, 1, 1, "V", "V", false], # 219
521
+ "TANH" => [0x0e7, 1, 1, "V", "V", false], # 220
522
+ "TDIST" => [0x12d, 3, 3, "V", "V V V", false], # 221
523
+ "TEXT" => [0x030, 2, 2, "V", "V V", false], # 222
524
+ "TIME" => [0x042, 3, 3, "V", "V V V", false], # 223
525
+ "TIMEVALUE" => [0x08d, 1, 1, "V", "V", false], # 224
526
+ "TINV" => [0x14c, 2, 2, "V", "V V", false], # 225
527
+ "TODAY" => [0x0dd, 0, 0, "V", "-", true], # 226
528
+ "TRANSPOSE" => [0x053, 1, 1, "A", "A", false], # 227
529
+ "TREND" => [0x032, 1, 4, "A", "R R R V", false], # 228
530
+ "TRIM" => [0x076, 1, 1, "V", "V", false], # 229
531
+ "TRIMMEAN" => [0x14b, 2, 2, "V", "R V", false], # 230
532
+ "TRUE" => [0x022, 0, 0, "V", "-", false], # 231
533
+ "TRUNC" => [0x0c5, 1, 2, "V", "V V", false], # 232
534
+ "TTEST" => [0x13c, 4, 4, "V", "A A V V", false], # 233
535
+ "TYPE" => [0x056, 1, 1, "V", "V", false], # 234
536
+ "UPPER" => [0x071, 1, 1, "V", "V", false], # 235
537
+ "USDOLLAR" => [0x0cc, 1, 2, "V", "V V", false], # 236
538
+ "VALUE" => [0x021, 1, 1, "V", "V", false], # 237
539
+ "VAR" => [0x02e, 1, 30, "V", "R ...", false], # 238
540
+ "VARA" => [0x16f, 1, 30, "V", "R ...", false], # 239
541
+ "VARP" => [0x0c2, 1, 30, "V", "R ...", false], # 240
542
+ "VARPA" => [0x16d, 1, 30, "V", "R ...", false], # 241
543
+ "VDB" => [0x0de, 5, 7, "V", "V V V V V V V", false], # 242
544
+ "VLOOKUP" => [0x066, 3, 4, "V", "V R R V", false], # 243
545
+ "WEEKDAY" => [0x046, 1, 2, "V", "V V", false], # 244
546
+ "WEIBULL" => [0x12e, 4, 4, "V", "V V V V", false], # 245
547
+ "YEAR" => [0x045, 1, 1, "V", "V", false], # 246
548
+ "ZTEST" => [0x144, 2, 3, "V", "R V V", false] # 247
549
+ }
550
+
551
+
552
+ STD_FUNC_BY_NUM = {
553
+ 0x000 => [ "COUNT", 0, 30, "V", "R ...", false], # 1
554
+ 0x001 => [ "IF", 2, 3, "R", "V R R", false], # 2
555
+ 0x002 => [ "ISNA", 1, 1, "V", "V", false], # 3
556
+ 0x003 => [ "ISERROR", 1, 1, "V", "V", false], # 4
557
+ 0x004 => [ "SUM", 0, 30, "V", "R ...", false], # 5
558
+ 0x005 => [ "AVERAGE", 1, 30, "V", "R ...", false], # 6
559
+ 0x006 => [ "MIN", 1, 30, "V", "R ...", false], # 7
560
+ 0x007 => [ "MAX", 1, 30, "V", "R ...", false], # 8
561
+ 0x008 => [ "ROW", 0, 1, "V", "R", false], # 9
562
+ 0x009 => [ "COLUMN", 0, 1, "V", "R", false], # 10
563
+ 0x00a => [ "NA", 0, 0, "V", "-", false], # 11
564
+ 0x00b => [ "NPV", 2, 30, "V", "V R ...", false], # 12
565
+ 0x00c => [ "STDEV", 1, 30, "V", "R ...", false], # 13
566
+ 0x00d => [ "DOLLAR", 1, 2, "V", "V V", false], # 14
567
+ 0x00e => [ "FIXED", 2, 3, "V", "V V V", false], # 15
568
+ 0x00f => [ "SIN", 1, 1, "V", "V", false], # 16
569
+ 0x010 => [ "COS", 1, 1, "V", "V", false], # 17
570
+ 0x011 => [ "TAN", 1, 1, "V", "V", false], # 18
571
+ 0x012 => [ "ARCTAN", 1, 1, "V", "V", false], # 19
572
+ 0x013 => [ "PI", 0, 0, "V", "-", false], # 20
573
+ 0x014 => [ "SQRT", 1, 1, "V", "V", false], # 21
574
+ 0x015 => [ "EXP", 1, 1, "V", "V", false], # 22
575
+ 0x016 => [ "LN", 1, 1, "V", "V", false], # 23
576
+ 0x017 => [ "LOG10", 1, 1, "V", "V", false], # 24
577
+ 0x018 => [ "ABS", 1, 1, "V", "V", false], # 25
578
+ 0x019 => [ "INT", 1, 1, "V", "V", false], # 26
579
+ 0x01a => [ "SIGN", 1, 1, "V", "V", false], # 27
580
+ 0x01b => [ "ROUND", 2, 2, "V", "V V", false], # 28
581
+ 0x01c => [ "LOOKUP", 2, 3, "V", "V R R", false], # 29
582
+ 0x01d => [ "INDEX", 2, 4, "R", "R V V V", false], # 30
583
+ 0x01e => [ "REPT", 2, 2, "V", "V V", false], # 31
584
+ 0x01f => [ "MID", 3, 3, "V", "V V V", false], # 32
585
+ 0x020 => [ "LEN", 1, 1, "V", "V", false], # 33
586
+ 0x021 => [ "VALUE", 1, 1, "V", "V", false], # 34
587
+ 0x022 => [ "TRUE", 0, 0, "V", "-", false], # 35
588
+ 0x023 => [ "FALSE", 0, 0, "V", "-", false], # 36
589
+ 0x024 => [ "AND", 1, 30, "V", "R ...", false], # 37
590
+ 0x025 => [ "OR", 1, 30, "V", "R ...", false], # 38
591
+ 0x026 => [ "NOT", 1, 1, "V", "V", false], # 39
592
+ 0x027 => [ "MOD", 2, 2, "V", "V V", false], # 40
593
+ 0x028 => [ "DCOUNT", 3, 3, "V", "R R R", false], # 41
594
+ 0x029 => [ "DSUM", 3, 3, "V", "R R R", false], # 42
595
+ 0x02a => [ "DAVERAGE", 3, 3, "V", "R R R", false], # 43
596
+ 0x02b => [ "DMIN", 3, 3, "V", "R R R", false], # 44
597
+ 0x02c => [ "DMAX", 3, 3, "V", "R R R", false], # 45
598
+ 0x02d => [ "DSTDEV", 3, 3, "V", "R R R", false], # 46
599
+ 0x02e => [ "VAR", 1, 30, "V", "R ...", false], # 47
600
+ 0x02f => [ "DVAR", 3, 3, "V", "R R R", false], # 48
601
+ 0x030 => [ "TEXT", 2, 2, "V", "V V", false], # 49
602
+ 0x031 => [ "LINEST", 1, 4, "A", "R R V V", false], # 50
603
+ 0x032 => [ "TREND", 1, 4, "A", "R R R V", false], # 51
604
+ 0x033 => [ "LOGEST", 1, 4, "A", "R R V V", false], # 52
605
+ 0x034 => [ "GROWTH", 1, 4, "A", "R R R V", false], # 53
606
+ 0x038 => [ "PV", 3, 5, "V", "V V V V V", false], # 54
607
+ 0x039 => [ "FV", 3, 5, "V", "V V V V V", false], # 55
608
+ 0x03a => [ "NPER", 3, 5, "V", "V V V V V", false], # 56
609
+ 0x03b => [ "PMT", 3, 5, "V", "V V V V V", false], # 57
610
+ 0x03c => [ "RATE", 3, 6, "V", "V V V V V V", false], # 58
611
+ 0x03d => [ "MIRR", 3, 3, "V", "R V V", false], # 59
612
+ 0x03e => [ "IRR", 1, 2, "V", "R V", false], # 60
613
+ 0x03f => [ "RAND", 0, 0, "V", "-", true], # 61
614
+ 0x040 => [ "MATCH", 2, 3, "V", "V R R", false], # 62
615
+ 0x041 => [ "DATE", 3, 3, "V", "V V V", false], # 63
616
+ 0x042 => [ "TIME", 3, 3, "V", "V V V", false], # 64
617
+ 0x043 => [ "DAY", 1, 1, "V", "V", false], # 65
618
+ 0x044 => [ "MONTH", 1, 1, "V", "V", false], # 66
619
+ 0x045 => [ "YEAR", 1, 1, "V", "V", false], # 67
620
+ 0x046 => [ "WEEKDAY", 1, 2, "V", "V V", false], # 68
621
+ 0x047 => [ "HOUR", 1, 1, "V", "V", false], # 69
622
+ 0x048 => [ "MINUTE", 1, 1, "V", "V", false], # 70
623
+ 0x049 => [ "SECOND", 1, 1, "V", "V", false], # 71
624
+ 0x04a => [ "NOW", 0, 0, "V", "-", true], # 72
625
+ 0x04b => [ "AREAS", 1, 1, "V", "R", false], # 73
626
+ 0x04c => [ "ROWS", 1, 1, "V", "R", false], # 74
627
+ 0x04d => [ "COLUMNS", 1, 1, "V", "R", false], # 75
628
+ 0x04e => [ "OFFSET", 3, 5, "R", "R V V V V", true], # 76
629
+ 0x052 => [ "SEARCH", 2, 3, "V", "V V V", false], # 77
630
+ 0x053 => [ "TRANSPOSE", 1, 1, "A", "A", false], # 78
631
+ 0x056 => [ "TYPE", 1, 1, "V", "V", false], # 79
632
+ 0x061 => [ "ATAN2", 2, 2, "V", "V V", false], # 80
633
+ 0x062 => [ "ASIN", 1, 1, "V", "V", false], # 81
634
+ 0x063 => [ "ACOS", 1, 1, "V", "V", false], # 82
635
+ 0x064 => [ "CHOOSE", 2, 30, "R", "V R ...", false], # 83
636
+ 0x065 => [ "HLOOKUP", 3, 4, "V", "V R R V", false], # 84
637
+ 0x066 => [ "VLOOKUP", 3, 4, "V", "V R R V", false], # 85
638
+ 0x069 => [ "ISREF", 1, 1, "V", "R", false], # 86
639
+ 0x06d => [ "LOG", 1, 2, "V", "V V", false], # 87
640
+ 0x06f => [ "CHAR", 1, 1, "V", "V", false], # 88
641
+ 0x070 => [ "LOWER", 1, 1, "V", "V", false], # 89
642
+ 0x071 => [ "UPPER", 1, 1, "V", "V", false], # 90
643
+ 0x072 => [ "PROPER", 1, 1, "V", "V", false], # 91
644
+ 0x073 => [ "LEFT", 1, 2, "V", "V V", false], # 92
645
+ 0x074 => [ "RIGHT", 1, 2, "V", "V V", false], # 93
646
+ 0x075 => [ "EXACT", 2, 2, "V", "V V", false], # 94
647
+ 0x076 => [ "TRIM", 1, 1, "V", "V", false], # 95
648
+ 0x077 => [ "REPLACE", 4, 4, "V", "V V V V", false], # 96
649
+ 0x078 => [ "SUBSTITUTE", 3, 4, "V", "V V V V", false], # 97
650
+ 0x079 => [ "CODE", 1, 1, "V", "V", false], # 98
651
+ 0x07c => [ "FIND", 2, 3, "V", "V V V", false], # 99
652
+ 0x07d => [ "CELL", 1, 2, "V", "V R", true], # 100
653
+ 0x07e => [ "ISERR", 1, 1, "V", "V", false], # 101
654
+ 0x07f => [ "ISTEXT", 1, 1, "V", "V", false], # 102
655
+ 0x080 => [ "ISNUMBER", 1, 1, "V", "V", false], # 103
656
+ 0x081 => [ "ISBLANK", 1, 1, "V", "V", false], # 104
657
+ 0x082 => [ "T", 1, 1, "V", "R", false], # 105
658
+ 0x083 => [ "N", 1, 1, "V", "R", false], # 106
659
+ 0x08c => [ "DATEVALUE", 1, 1, "V", "V", false], # 107
660
+ 0x08d => [ "TIMEVALUE", 1, 1, "V", "V", false], # 108
661
+ 0x08e => [ "SLN", 3, 3, "V", "V V V", false], # 109
662
+ 0x08f => [ "SYD", 4, 4, "V", "V V V V", false], # 110
663
+ 0x090 => [ "DDB", 4, 5, "V", "V V V V V", false], # 111
664
+ 0x094 => [ "INDIRECT", 1, 2, "R", "V V", true], # 112
665
+ 0x0a2 => [ "CLEAN", 1, 1, "V", "V", false], # 113
666
+ 0x0a3 => [ "MDETERM", 1, 1, "V", "A", false], # 114
667
+ 0x0a4 => [ "MINVERSE", 1, 1, "A", "A", false], # 115
668
+ 0x0a5 => [ "MMULT", 2, 2, "A", "A A", false], # 116
669
+ 0x0a7 => [ "IPMT", 4, 6, "V", "V V V V V V", false], # 117
670
+ 0x0a8 => [ "PPMT", 4, 6, "V", "V V V V V V", false], # 118
671
+ 0x0a9 => [ "COUNTA", 0, 30, "V", "R ...", false], # 119
672
+ 0x0b7 => [ "PRODUCT", 0, 30, "V", "R ...", false], # 120
673
+ 0x0b8 => [ "FACT", 1, 1, "V", "V", false], # 121
674
+ 0x0bf => [ "DPRODUCT", 3, 3, "V", "R R R", false], # 122
675
+ 0x0c0 => [ "ISNONTEXT", 1, 1, "V", "V", false], # 123
676
+ 0x0c1 => [ "STDEVP", 1, 30, "V", "R ...", false], # 124
677
+ 0x0c2 => [ "VARP", 1, 30, "V", "R ...", false], # 125
678
+ 0x0c3 => [ "DSTDEVP", 3, 3, "V", "R R R", false], # 126
679
+ 0x0c4 => [ "DVARP", 3, 3, "V", "R R R", false], # 127
680
+ 0x0c5 => [ "TRUNC", 1, 2, "V", "V V", false], # 128
681
+ 0x0c6 => [ "ISLOGICAL", 1, 1, "V", "V", false], # 129
682
+ 0x0c7 => [ "DCOUNTA", 3, 3, "V", "R R R", false], # 130
683
+ 0x0cc => [ "USDOLLAR", 1, 2, "V", "V V", false], # 131
684
+ 0x0cd => [ "FINDB", 2, 3, "V", "V V V", false], # 132
685
+ 0x0ce => [ "SEARCHB", 2, 3, "V", "V V V", false], # 133
686
+ 0x0cf => [ "REPLACEB", 4, 4, "V", "V V V V", false], # 134
687
+ 0x0d0 => [ "LEFTB", 1, 2, "V", "V V", false], # 135
688
+ 0x0d1 => [ "RIGHTB", 1, 2, "V", "V V", false], # 136
689
+ 0x0d2 => [ "MIDB", 3, 3, "V", "V V V", false], # 137
690
+ 0x0d3 => [ "LENB", 1, 1, "V", "V", false], # 138
691
+ 0x0d4 => [ "ROUNDUP", 2, 2, "V", "V V", false], # 139
692
+ 0x0d5 => [ "ROUNDDOWN", 2, 2, "V", "V V", false], # 140
693
+ 0x0d6 => [ "ASC", 1, 1, "V", "V", false], # 141
694
+ 0x0d7 => [ "DBSC", 1, 1, "V", "V", false], # 142
695
+ 0x0d8 => [ "RANK", 2, 3, "V", "V R V", false], # 143
696
+ 0x0db => [ "ADDRESS", 2, 5, "V", "V V V V V", false], # 144
697
+ 0x0dc => [ "DAYS360", 2, 3, "V", "V V V", false], # 145
698
+ 0x0dd => [ "TODAY", 0, 0, "V", "-", true], # 146
699
+ 0x0de => [ "VDB", 5, 7, "V", "V V V V V V V", false], # 147
700
+ 0x0e3 => [ "MEDIAN", 1, 30, "V", "R ...", false], # 148
701
+ 0x0e4 => [ "SUMPRODUCT", 1, 30, "V", "A ...", false], # 149
702
+ 0x0e5 => [ "SINH", 1, 1, "V", "V", false], # 150
703
+ 0x0e6 => [ "COSH", 1, 1, "V", "V", false], # 151
704
+ 0x0e7 => [ "TANH", 1, 1, "V", "V", false], # 152
705
+ 0x0e8 => [ "ASINH", 1, 1, "V", "V", false], # 153
706
+ 0x0e9 => [ "ACOSH", 1, 1, "V", "V", false], # 154
707
+ 0x0ea => [ "ATANH", 1, 1, "V", "V", false], # 155
708
+ 0x0eb => [ "DGET", 3, 3, "V", "R R R", false], # 156
709
+ 0x0f4 => [ "INFO", 1, 1, "V", "V", false], # 157
710
+ 0x0f7 => [ "DB", 4, 5, "V", "V V V V V", false], # 158
711
+ 0x0fc => [ "FREQUENCY", 2, 2, "A", "R R", false], # 159
712
+ 0x105 => [ "ERROR.TYPE", 1, 1, "V", "V", false], # 160
713
+ 0x10d => [ "AVEDEV", 1, 30, "V", "R ...", false], # 161
714
+ 0x10e => [ "BETADIST", 3, 5, "V", "V V V V V", false], # 162
715
+ 0x10f => [ "GAMMALN", 1, 1, "V", "V", false], # 163
716
+ 0x110 => [ "BETAINV", 3, 5, "V", "V V V V V", false], # 164
717
+ 0x111 => [ "BINOMDIST", 4, 4, "V", "V V V V", false], # 165
718
+ 0x112 => [ "CHIDIST", 2, 2, "V", "V V", false], # 166
719
+ 0x113 => [ "CHIINV", 2, 2, "V", "V V", false], # 167
720
+ 0x114 => [ "COMBIN", 2, 2, "V", "V V", false], # 168
721
+ 0x115 => [ "CONFIDENCE", 3, 3, "V", "V V V", false], # 169
722
+ 0x116 => [ "CRITBINOM", 3, 3, "V", "V V V", false], # 170
723
+ 0x117 => [ "EVEN", 1, 1, "V", "V", false], # 171
724
+ 0x118 => [ "EXPONDIST", 3, 3, "V", "V V V", false], # 172
725
+ 0x119 => [ "FDIST", 3, 3, "V", "V V V", false], # 173
726
+ 0x11a => [ "FINV", 3, 3, "V", "V V V", false], # 174
727
+ 0x11b => [ "FISHER", 1, 1, "V", "V", false], # 175
728
+ 0x11c => [ "FISHERINV", 1, 1, "V", "V", false], # 176
729
+ 0x11d => [ "FLOOR", 2, 2, "V", "V V", false], # 177
730
+ 0x11e => [ "GAMMADIST", 4, 4, "V", "V V V V", false], # 178
731
+ 0x11f => [ "GAMMAINV", 3, 3, "V", "V V V", false], # 179
732
+ 0x120 => [ "CEILING", 2, 2, "V", "V V", false], # 180
733
+ 0x121 => [ "HYPGEOMVERT", 4, 4, "V", "V V V V", false], # 181
734
+ 0x122 => [ "LOGNORMDIST", 3, 3, "V", "V V V", false], # 182
735
+ 0x123 => [ "LOGINV", 3, 3, "V", "V V V", false], # 183
736
+ 0x124 => ["NEGBINOMDIST", 3, 3, "V", "V V V", false], # 184
737
+ 0x125 => [ "NORMDIST", 4, 4, "V", "V V V V", false], # 185
738
+ 0x126 => [ "NORMSDIST", 1, 1, "V", "V", false], # 186
739
+ 0x127 => [ "NORMINV", 3, 3, "V", "V V V", false], # 187
740
+ 0x128 => [ "MNORMSINV", 1, 1, "V", "V", false], # 188
741
+ 0x129 => [ "STANDARDIZE", 3, 3, "V", "V V V", false], # 189
742
+ 0x12a => [ "ODD", 1, 1, "V", "V", false], # 190
743
+ 0x12b => [ "PERMUT", 2, 2, "V", "V V", false], # 191
744
+ 0x12c => [ "POISSON", 3, 3, "V", "V V V", false], # 192
745
+ 0x12d => [ "TDIST", 3, 3, "V", "V V V", false], # 193
746
+ 0x12e => [ "WEIBULL", 4, 4, "V", "V V V V", false], # 194
747
+ 0x12f => [ "SUMXMY2", 2, 2, "V", "A A", false], # 195
748
+ 0x130 => [ "SUMX2MY2", 2, 2, "V", "A A", false], # 196
749
+ 0x131 => [ "SUMX2PY2", 2, 2, "V", "A A", false], # 197
750
+ 0x132 => [ "CHITEST", 2, 2, "V", "A A", false], # 198
751
+ 0x133 => [ "CORREL", 2, 2, "V", "A A", false], # 199
752
+ 0x134 => [ "COVAR", 2, 2, "V", "A A", false], # 200
753
+ 0x135 => [ "FORECAST", 3, 3, "V", "V A A", false], # 201
754
+ 0x136 => [ "FTEST", 2, 2, "V", "A A", false], # 202
755
+ 0x137 => [ "INTERCEPT", 2, 2, "V", "A A", false], # 203
756
+ 0x138 => [ "PEARSON", 2, 2, "V", "A A", false], # 204
757
+ 0x139 => [ "RSQ", 2, 2, "V", "A A", false], # 205
758
+ 0x13a => [ "STEYX", 2, 2, "V", "A A", false], # 206
759
+ 0x13b => [ "SLOPE", 2, 2, "V", "A A", false], # 207
760
+ 0x13c => [ "TTEST", 4, 4, "V", "A A V V", false], # 208
761
+ 0x13d => [ "PROB", 3, 4, "V", "A A V V", false], # 209
762
+ 0x13e => [ "DEVSQ", 1, 30, "V", "R ...", false], # 210
763
+ 0x13f => [ "GEOMEAN", 1, 30, "V", "R ...", false], # 211
764
+ 0x140 => [ "HARMEAN", 1, 30, "V", "R ...", false], # 212
765
+ 0x141 => [ "SUMSQ", 0, 30, "V", "R ...", false], # 213
766
+ 0x142 => [ "KURT", 1, 30, "V", "R ...", false], # 214
767
+ 0x143 => [ "SKEW", 1, 30, "V", "R ...", false], # 215
768
+ 0x144 => [ "ZTEST", 2, 3, "V", "R V V", false], # 216
769
+ 0x145 => [ "LARGE", 2, 2, "V", "R V", false], # 217
770
+ 0x146 => [ "SMALL", 2, 2, "V", "R V", false], # 218
771
+ 0x147 => [ "QUARTILE", 2, 2, "V", "R V", false], # 219
772
+ 0x148 => [ "PERCENTILE", 2, 2, "V", "R V", false], # 220
773
+ 0x149 => [ "PERCENTRANK", 2, 3, "V", "R V V", false], # 221
774
+ 0x14a => [ "MODE", 1, 30, "V", "A ...", false], # 222
775
+ 0x14b => [ "TRIMMEAN", 2, 2, "V", "R V", false], # 223
776
+ 0x14c => [ "TINV", 2, 2, "V", "V V", false], # 224
777
+ 0x150 => [ "CONCATENATE", 0, 30, "V", "V ...", false], # 225
778
+ 0x151 => [ "POWER", 2, 2, "V", "V V", false], # 226
779
+ 0x156 => [ "RADIANS", 1, 1, "V", "V", false], # 227
780
+ 0x157 => [ "DEGREES", 1, 1, "V", "V", false], # 228
781
+ 0x158 => [ "SUBTOTAL", 2, 30, "V", "V R ...", false], # 229
782
+ 0x159 => [ "SUMIF", 2, 3, "V", "R V R", false], # 230
783
+ 0x15a => [ "COUNTIF", 2, 2, "V", "R V", false], # 231
784
+ 0x15b => [ "COUNTBLANK", 1, 1, "V", "R", false], # 232
785
+ 0x15e => [ "ISPMT", 4, 4, "V", "V V V V", false], # 233
786
+ 0x15f => [ "DATEDIF", 3, 3, "V", "V V V", false], # 234
787
+ 0x160 => [ "DATESTRING", 1, 1, "V", "V", false], # 235
788
+ 0x161 => ["NUMBERSTRING", 2, 2, "V", "V V", false], # 236
789
+ 0x162 => [ "ROMAN", 1, 2, "V", "V V", false], # 237
790
+ 0x166 => ["GETPIVOTDATA", 2, 30, "A", "-", false], # 238
791
+ 0x167 => [ "HYPERLINK", 1, 2, "V", "V V", false], # 239
792
+ 0x168 => [ "PHONETIC", 1, 1, "V", "R", false], # 240
793
+ 0x169 => [ "AVERAGEA", 1, 30, "V", "R ...", false], # 241
794
+ 0x16a => [ "MAXA", 1, 30, "V", "R ...", false], # 242
795
+ 0x16b => [ "MINA", 1, 30, "V", "R ...", false], # 243
796
+ 0x16c => [ "STDEVPA", 1, 30, "V", "R ...", false], # 244
797
+ 0x16d => [ "VARPA", 1, 30, "V", "R ...", false], # 245
798
+ 0x16e => [ "STDEVA", 1, 30, "V", "R ...", false], # 246
799
+ 0x16f => [ "VARA", 1, 30, "V", "R ...", false] # 247
800
+ }
801
+
802
+
803
+ # Formulas Parse things
804
+
805
+ PTGEXP = 0x01
806
+ PTGTBL = 0x02
807
+ PTGADD = 0x03
808
+ PTGSUB = 0x04
809
+ PTGMUL = 0x05
810
+ PTGDIV = 0x06
811
+ PTGPOWER = 0x07
812
+ PTGCONCAT = 0x08
813
+ PTGLT = 0x09
814
+ PTGLE = 0x0a
815
+ PTGEQ = 0x0b
816
+ PTGGE = 0x0c
817
+ PTGGT = 0x0d
818
+ PTGNE = 0x0e
819
+ PTGISECT = 0x0f
820
+ PTGUNION = 0x10
821
+ PTGRANGE = 0x11
822
+ PTGUPLUS = 0x12
823
+ PTGUMINUS = 0x13
824
+ PTGPERCENT = 0x14
825
+ PTGPAREN = 0x15
826
+ PTGMISSARG = 0x16
827
+ PTGSTR = 0x17
828
+ PTGEXTEND = 0x18
829
+ PTGATTR = 0x19
830
+ PTGSHEET = 0x1a
831
+ PTGENDSHEET = 0x1b
832
+ PTGERR = 0x1c
833
+ PTGBOOL = 0x1d
834
+ PTGINT = 0x1e
835
+ PTGNUM = 0x1f
836
+
837
+ PTGARRAYR = 0x20
838
+ PTGFUNCR = 0x21
839
+ PTGFUNCVARR = 0x22
840
+ PTGNAMER = 0x23
841
+ PTGREFR = 0x24
842
+ PTGAREAR = 0x25
843
+ PTGMEMAREAR = 0x26
844
+ PTGMEMERRR = 0x27
845
+ PTGMEMNOMEMR = 0x28
846
+ PTGMEMFUNCR = 0x29
847
+ PTGREFERRR = 0x2a
848
+ PTGAREAERRR = 0x2b
849
+ PTGREFNR = 0x2c
850
+ PTGAREANR = 0x2d
851
+ PTGMEMAREANR = 0x2e
852
+ PTGMEMNOMEMNR = 0x2f
853
+ PTGNAMEXR = 0x39
854
+ PTGREF3DR = 0x3a
855
+ PTGAREA3DR = 0x3b
856
+ PTGREFERR3DR = 0x3c
857
+ PTGAREAERR3DR = 0x3d
858
+
859
+ PTGARRAYV = 0x40
860
+ PTGFUNCV = 0x41
861
+ PTGFUNCVARV = 0x42
862
+ PTGNAMEV = 0x43
863
+ PTGREFV = 0x44
864
+ PTGAREAV = 0x45
865
+ PTGMEMAREAV = 0x46
866
+ PTGMEMERRV = 0x47
867
+ PTGMEMNOMEMV = 0x48
868
+ PTGMEMFUNCV = 0x49
869
+ PTGREFERRV = 0x4a
870
+ PTGAREAERRV = 0x4b
871
+ PTGREFNV = 0x4c
872
+ PTGAREANV = 0x4d
873
+ PTGMEMAREANV = 0x4e
874
+ PTGMEMNOMEMNV = 0x4f
875
+ PTGFUNCCEV = 0x58
876
+ PTGNAMEXV = 0x59
877
+ PTGREF3DV = 0x5a
878
+ PTGAREA3DV = 0x5b
879
+ PTGREFERR3DV = 0x5c
880
+ PTGAREAERR3DV = 0x5d
881
+
882
+ PTGARRAYA = 0x60
883
+ PTGFUNCA = 0x61
884
+ PTGFUNCVARA = 0x62
885
+ PTGNAMEA = 0x63
886
+ PTGREFA = 0x64
887
+ PTGAREAA = 0x65
888
+ PTGMEMAREAA = 0x66
889
+ PTGMEMERRA = 0x67
890
+ PTGMEMNOMEMA = 0x68
891
+ PTGMEMFUNCA = 0x69
892
+ PTGREFERRA = 0x6a
893
+ PTGAREAERRA = 0x6b
894
+ PTGREFNA = 0x6c
895
+ PTGAREANA = 0x6d
896
+ PTGMEMAREANA = 0x6e
897
+ PTGMEMNOMEMNA = 0x6f
898
+ PTGFUNCCEA = 0x78
899
+ PTGNAMEXA = 0x79
900
+ PTGREF3DA = 0x7a
901
+ PTGAREA3DA = 0x7b
902
+ PTGREFERR3DA = 0x7c
903
+ PTGAREAERR3DA = 0x7d
904
+
905
+
906
+ PTG_NAMES = {
907
+ :ptgExp => "ptgExp",
908
+ :ptgTbl => "ptgTbl",
909
+ :ptgAdd => "ptgAdd",
910
+ :ptgSub => "ptgSub",
911
+ :ptgMul => "ptgMul",
912
+ :ptgDiv => "ptgDiv",
913
+ :ptgPower => "ptgPower",
914
+ :ptgConcat => "ptgConcat",
915
+ :ptgLT => "ptgLT",
916
+ :ptgLE => "ptgLE",
917
+ :ptgEQ => "ptgEQ",
918
+ :ptgGE => "ptgGE",
919
+ :ptgGT => "ptgGT",
920
+ :ptgNE => "ptgNE",
921
+ :ptgIsect => "ptgIsect",
922
+ :ptgUnion => "ptgUnion",
923
+ :ptgRange => "ptgRange",
924
+ :ptgUplus => "ptgUplus",
925
+ :ptgUminus => "ptgUminus",
926
+ :ptgPercent => "ptgPercent",
927
+ :ptgParen => "ptgParen",
928
+ :ptgMissArg => "ptgMissArg",
929
+ :ptgStr => "ptgStr",
930
+ :ptgExtend => "ptgExtend",
931
+ :ptgAttr => "ptgAttr",
932
+ :ptgSheet => "ptgSheet",
933
+ :ptgEndSheet => "ptgEndSheet",
934
+ :ptgErr => "ptgErr",
935
+ :ptgBool => "ptgBool",
936
+ :ptgInt => "ptgInt",
937
+ :ptgNum => "ptgNum",
938
+ :ptgArrayR => "ptgArrayR",
939
+ :ptgFuncR => "ptgFuncR",
940
+ :ptgFuncVarR => "ptgFuncVarR",
941
+ :ptgNameR => "ptgNameR",
942
+ :ptgRefR => "ptgRefR",
943
+ :ptgAreaR => "ptgAreaR",
944
+ :ptgMemAreaR => "ptgMemAreaR",
945
+ :ptgMemErrR => "ptgMemErrR",
946
+ :ptgMemNoMemR => "ptgMemNoMemR",
947
+ :ptgMemFuncR => "ptgMemFuncR",
948
+ :ptgRefErrR => "ptgRefErrR",
949
+ :ptgAreaErrR => "ptgAreaErrR",
950
+ :ptgRefNR => "ptgRefNR",
951
+ :ptgAreaNR => "ptgAreaNR",
952
+ :ptgMemAreaNR => "ptgMemAreaNR",
953
+ :ptgMemNoMemNR => "ptgMemNoMemNR",
954
+ :ptgNameXR => "ptgNameXR",
955
+ :ptgRef3dR => "ptgRef3dR",
956
+ :ptgArea3dR => "ptgArea3dR",
957
+ :ptgRefErr3dR => "ptgRefErr3dR",
958
+ :ptgAreaErr3dR => "ptgAreaErr3dR",
959
+ :ptgArrayV => "ptgArrayV",
960
+ :ptgFuncV => "ptgFuncV",
961
+ :ptgFuncVarV => "ptgFuncVarV",
962
+ :ptgNameV => "ptgNameV",
963
+ :ptgRefV => "ptgRefV",
964
+ :ptgAreaV => "ptgAreaV",
965
+ :ptgMemAreaV => "ptgMemAreaV",
966
+ :ptgMemErrV => "ptgMemErrV",
967
+ :ptgMemNoMemV => "ptgMemNoMemV",
968
+ :ptgMemFuncV => "ptgMemFuncV",
969
+ :ptgRefErrV => "ptgRefErrV",
970
+ :ptgAreaErrV => "ptgAreaErrV",
971
+ :ptgRefNV => "ptgRefNV",
972
+ :ptgAreaNV => "ptgAreaNV",
973
+ :ptgMemAreaNV => "ptgMemAreaNV",
974
+ :ptgMemNoMemNV => "ptgMemNoMemNV",
975
+ :ptgFuncCEV => "ptgFuncCEV",
976
+ :ptgNameXV => "ptgNameXV",
977
+ :ptgRef3dV => "ptgRef3dV",
978
+ :ptgArea3dV => "ptgArea3dV",
979
+ :ptgRefErr3dV => "ptgRefErr3dV",
980
+ :ptgAreaErr3dV => "ptgAreaErr3dV",
981
+ :ptgArrayA => "ptgArrayA",
982
+ :ptgFuncA => "ptgFuncA",
983
+ :ptgFuncVarA => "ptgFuncVarA",
984
+ :ptgNameA => "ptgNameA",
985
+ :ptgRefA => "ptgRefA",
986
+ :ptgAreaA => "ptgAreaA",
987
+ :ptgMemAreaA => "ptgMemAreaA",
988
+ :ptgMemErrA => "ptgMemErrA",
989
+ :ptgMemNoMemA => "ptgMemNoMemA",
990
+ :ptgMemFuncA => "ptgMemFuncA",
991
+ :ptgRefErrA => "ptgRefErrA",
992
+ :ptgAreaErrA => "ptgAreaErrA",
993
+ :ptgRefNA => "ptgRefNA",
994
+ :ptgAreaNA => "ptgAreaNA",
995
+ :ptgMemAreaNA => "ptgMemAreaNA",
996
+ :ptgMemNoMemNA => "ptgMemNoMemNA",
997
+ :ptgFuncCEA => "ptgFuncCEA",
998
+ :ptgNameXA => "ptgNameXA",
999
+ :ptgRef3dA => "ptgRef3dA",
1000
+ :ptgArea3dA => "ptgArea3dA",
1001
+ :ptgRefErr3dA => "ptgRefErr3dA",
1002
+ :ptgAreaErr3dA => "ptgAreaErr3dA"
1003
+ }
1004
+
1005
+
1006
+ ERROR_MSG_BY_CODE = {
1007
+ 0x00 => "#NULL!", # intersection of two cell ranges is empty
1008
+ 0x07 => "#DIV/0!", # division by zero
1009
+ 0x0F => "#VALUE!", # wrong type of operand
1010
+ 0x17 => "#REF!", # illegal or deleted cell reference
1011
+ 0x1D => "#NAME?", # wrong function or range name
1012
+ 0x24 => "#NUM!", # value range overflow
1013
+ 0x2A => "#N/A!" # argument or function not available
1014
+ }
3
1015
 
4
- MAX_ROW = 65536
5
- MAX_COL = 256
6
-
7
-
8
- BIFF_RECORDS = {
9
- 0x0000 => "DIMENSIONS",
10
- 0x0001 => "BLANK",
11
- 0x0002 => "INTEGER",
12
- 0x0003 => "NUMBER",
13
- 0x0004 => "LABEL",
14
- 0x0005 => "BOOLERR",
15
- 0x0006 => "FORMULA",
16
- 0x0007 => "STRING",
17
- 0x0008 => "ROW",
18
- 0x0009 => "BOF",
19
- 0x000A => "EOF",
20
- 0x000B => "INDEX",
21
- 0x000C => "CALCCOUNT",
22
- 0x000D => "CALCMODE",
23
- 0x000E => "PRECISION",
24
- 0x000F => "REFMODE",
25
- 0x0010 => "DELTA",
26
- 0x0011 => "ITERATION",
27
- 0x0012 => "PROTECT",
28
- 0x0013 => "PASSWORD",
29
- 0x0014 => "HEADER",
30
- 0x0015 => "FOOTER",
31
- 0x0016 => "EXTERNCOUNT",
32
- 0x0017 => "EXTERNSHEET",
33
- 0x0018 => "NAME",
34
- 0x0019 => "WINDOWPROTECT",
35
- 0x001A => "VERTICALPAGEBREAKS",
36
- 0x001B => "HORIZONTALPAGEBREAKS",
37
- 0x001C => "NOTE",
38
- 0x001D => "SELECTION",
39
- 0x001E => "FORMAT",
40
- 0x001F => "FORMATCOUNT",
41
- 0x0020 => "COLUMNDEFAULT",
42
- 0x0021 => "ARRAY",
43
- 0x0022 => "1904",
44
- 0x0023 => "EXTERNNAME",
45
- 0x0024 => "COLWIDTH",
46
- 0x0025 => "DEFAULTROWHEIGHT",
47
- 0x0026 => "LEFTMARGIN",
48
- 0x0027 => "RIGHTMARGIN",
49
- 0x0028 => "TOPMARGIN",
50
- 0x0029 => "BOTTOMMARGIN",
51
- 0x002A => "PRINTHEADERS",
52
- 0x002B => "PRINTGRIDLINES",
53
- 0x002F => "FILEPASS",
54
- 0x0031 => "FONT",
55
- 0x0036 => "TABLE",
56
- 0x003C => "CONTINUE",
57
- 0x003D => "WINDOW1",
58
- 0x003E => "WINDOW2",
59
- 0x0040 => "BACKUP",
60
- 0x0041 => "PANE",
61
- 0x0042 => "CODEPAGE",
62
- 0x0043 => "XF",
63
- 0x0044 => "IXFE",
64
- 0x0045 => "EFONT",
65
- 0x004D => "PLS",
66
- 0x0050 => "DCON",
67
- 0x0051 => "DCONREF",
68
- 0x0053 => "DCONNAME",
69
- 0x0055 => "DEFCOLWIDTH",
70
- 0x0056 => "BUILTINFMTCNT",
71
- 0x0059 => "XCT",
72
- 0x005A => "CRN",
73
- 0x005B => "FILESHARING",
74
- 0x005C => "WRITEACCESS",
75
- 0x005D => "OBJ",
76
- 0x005E => "UNCALCED",
77
- 0x005F => "SAFERECALC",
78
- 0x0060 => "TEMPLATE",
79
- 0x0063 => "OBJPROTECT",
80
- 0x007D => "COLINFO",
81
- 0x007E => "RK",
82
- 0x007F => "IMDATA",
83
- 0x0080 => "GUTS",
84
- 0x0081 => "WSBOOL",
85
- 0x0082 => "GRIDSET",
86
- 0x0083 => "HCENTER",
87
- 0x0084 => "VCENTER",
88
- 0x0085 => "BOUNDSHEET",
89
- 0x0086 => "WRITEPROT",
90
- 0x0087 => "ADDIN",
91
- 0x0088 => "EDG",
92
- 0x0089 => "PUB",
93
- 0x008C => "COUNTRY",
94
- 0x008D => "HIDEOBJ",
95
- 0x008E => "BUNDLESOFFSET",
96
- 0x008F => "BUNDLEHEADER",
97
- 0x0090 => "SORT",
98
- 0x0091 => "SUB",
99
- 0x0092 => "PALETTE",
100
- 0x0093 => "STYLE",
101
- 0x0094 => "LHRECORD",
102
- 0x0095 => "LHNGRAPH",
103
- 0x0096 => "SOUND",
104
- 0x0098 => "LPR",
105
- 0x0099 => "STANDARDWIDTH",
106
- 0x009A => "FNGROUPNAME",
107
- 0x009B => "FILTERMODE",
108
- 0x009C => "FNGROUPCOUNT",
109
- 0x009D => "AUTOFILTERINFO",
110
- 0x009E => "AUTOFILTER",
111
- 0x00A0 => "SCL",
112
- 0x00A1 => "SETUP",
113
- 0x00A9 => "COORDLIST",
114
- 0x00AB => "GCW",
115
- 0x00AE => "SCENMAN",
116
- 0x00AF => "SCENARIO",
117
- 0x00B0 => "SXVIEW",
118
- 0x00B1 => "SXVD",
119
- 0x00B2 => "SXVI",
120
- 0x00B4 => "SXIVD",
121
- 0x00B5 => "SXLI",
122
- 0x00B6 => "SXPI",
123
- 0x00B8 => "DOCROUTE",
124
- 0x00B9 => "RECIPNAME",
125
- 0x00BC => "SHRFMLA",
126
- 0x00BD => "MULRK",
127
- 0x00BE => "MULBLANK",
128
- 0x00C1 => "MMS",
129
- 0x00C2 => "ADDMENU",
130
- 0x00C3 => "DELMENU",
131
- 0x00C5 => "SXDI",
132
- 0x00C6 => "SXDB",
133
- 0x00C7 => "SXFIELD",
134
- 0x00C8 => "SXINDEXLIST",
135
- 0x00C9 => "SXDOUBLE",
136
- 0x00CD => "SXSTRING",
137
- 0x00CE => "SXDATETIME",
138
- 0x00D0 => "SXTBL",
139
- 0x00D1 => "SXTBRGITEM",
140
- 0x00D2 => "SXTBPG",
141
- 0x00D3 => "OBPROJ",
142
- 0x00D5 => "SXIDSTM",
143
- 0x00D6 => "RSTRING",
144
- 0x00D7 => "DBCELL",
145
- 0x00DA => "BOOKBOOL",
146
- 0x00DC => "SXEXT|PARAMQRY",
147
- 0x00DD => "SCENPROTECT",
148
- 0x00DE => "OLESIZE",
149
- 0x00DF => "UDDESC",
150
- 0x00E0 => "XF",
151
- 0x00E1 => "INTERFACEHDR",
152
- 0x00E2 => "INTERFACEEND",
153
- 0x00E3 => "SXVS",
154
- 0x00E5 => "MERGEDCELLS",
155
- 0x00E9 => "BITMAP",
156
- 0x00EB => "MSODRAWINGGROUP",
157
- 0x00EC => "MSODRAWING",
158
- 0x00ED => "MSODRAWINGSELECTION",
159
- 0x00F0 => "SXRULE",
160
- 0x00F1 => "SXEX",
161
- 0x00F2 => "SXFILT",
162
- 0x00F6 => "SXNAME",
163
- 0x00F7 => "SXSELECT",
164
- 0x00F8 => "SXPAIR",
165
- 0x00F9 => "SXFMLA",
166
- 0x00FB => "SXFORMAT",
167
- 0x00FC => "SST",
168
- 0x00FD => "LABELSST",
169
- 0x00FF => "EXTSST",
170
- 0x0100 => "SXVDEX",
171
- 0x0103 => "SXFORMULA",
172
- 0x0122 => "SXDBEX",
173
- 0x0137 => "CHTRINSERT",
174
- 0x0138 => "CHTRINFO",
175
- 0x013B => "CHTRCELLCONTENT",
176
- 0x013D => "TABID",
177
- 0x0140 => "CHTRMOVERANGE",
178
- 0x014D => "CHTRINSERTTAB",
179
- 0x015F => "LABELRANGES",
180
- 0x0160 => "USESELFS",
181
- 0x0161 => "DSF",
182
- 0x0162 => "XL5MODIFY",
183
- 0x0196 => "CHTRHEADER",
184
- 0x01A9 => "USERBVIEW",
185
- 0x01AA => "USERSVIEWBEGIN",
186
- 0x01AB => "USERSVIEWEND",
187
- 0x01AD => "QSI",
188
- 0x01AE => "SUPBOOK",
189
- 0x01AF => "PROT4REV",
190
- 0x01B0 => "CONDFMT",
191
- 0x01B1 => "CF",
192
- 0x01B2 => "DVAL",
193
- 0x01B5 => "DCONBIN",
194
- 0x01B6 => "TXO",
195
- 0x01B7 => "REFRESHALL",
196
- 0x01B8 => "HLINK",
197
- 0x01BA => "CODENAME",
198
- 0x01BB => "SXFDBTYPE",
199
- 0x01BC => "PROT4REVPASS",
200
- 0x01BE => "DV",
201
- 0x01C0 => "XL9FILE",
202
- 0x01C1 => "RECALCID",
203
- 0x0200 => "DIMENSIONS",
204
- 0x0201 => "BLANK",
205
- 0x0203 => "NUMBER",
206
- 0x0204 => "LABEL",
207
- 0x0205 => "BOOLERR",
208
- 0x0206 => "FORMULA",
209
- 0x0207 => "STRING",
210
- 0x0208 => "ROW",
211
- 0x0209 => "BOF",
212
- 0x020B => "INDEX",
213
- 0x0218 => "NAME",
214
- 0x0221 => "ARRAY",
215
- 0x0223 => "EXTERNNAME",
216
- 0x0225 => "DEFAULTROWHEIGHT",
217
- 0x0231 => "FONT",
218
- 0x0236 => "TABLE",
219
- 0x023E => "WINDOW2",
220
- 0x0243 => "XF",
221
- 0x027E => "RK",
222
- 0x0293 => "STYLE",
223
- 0x0406 => "FORMULA",
224
- 0x0409 => "BOF",
225
- 0x041E => "FORMAT",
226
- 0x0443 => "XF",
227
- 0x04BC => "SHRFMLA",
228
- 0x0800 => "SCREENTIP",
229
- 0x0803 => "WEBQRYSETTINGS",
230
- 0x0804 => "WEBQRYTABLES",
231
- 0x0809 => "BOF",
232
- 0x0862 => "SHEETLAYOUT",
233
- 0x0867 => "SHEETPROTECTION",
234
- 0x1001 => "UNITS",
235
- 0x1002 => "ChartChart",
236
- 0x1003 => "ChartSeries",
237
- 0x1006 => "ChartDataformat",
238
- 0x1007 => "ChartLineformat",
239
- 0x1009 => "ChartMarkerformat",
240
- 0x100A => "ChartAreaformat",
241
- 0x100B => "ChartPieformat",
242
- 0x100C => "ChartAttachedlabel",
243
- 0x100D => "ChartSeriestext",
244
- 0x1014 => "ChartChartformat",
245
- 0x1015 => "ChartLegend",
246
- 0x1016 => "ChartSerieslist",
247
- 0x1017 => "ChartBar",
248
- 0x1018 => "ChartLine",
249
- 0x1019 => "ChartPie",
250
- 0x101A => "ChartArea",
251
- 0x101B => "ChartScatter",
252
- 0x101C => "ChartChartline",
253
- 0x101D => "ChartAxis",
254
- 0x101E => "ChartTick",
255
- 0x101F => "ChartValuerange",
256
- 0x1020 => "ChartCatserrange",
257
- 0x1021 => "ChartAxislineformat",
258
- 0x1022 => "ChartFormatlink",
259
- 0x1024 => "ChartDefaulttext",
260
- 0x1025 => "ChartText",
261
- 0x1026 => "ChartFontx",
262
- 0x1027 => "ChartObjectLink",
263
- 0x1032 => "ChartFrame",
264
- 0x1033 => "BEGIN",
265
- 0x1034 => "END",
266
- 0x1035 => "ChartPlotarea",
267
- 0x103A => "Chart3D",
268
- 0x103C => "ChartPicf",
269
- 0x103D => "ChartDropbar",
270
- 0x103E => "ChartRadar",
271
- 0x103F => "ChartSurface",
272
- 0x1040 => "ChartRadararea",
273
- 0x1041 => "ChartAxisparent",
274
- 0x1043 => "ChartLegendxn",
275
- 0x1044 => "ChartShtprops",
276
- 0x1045 => "ChartSertocrt",
277
- 0x1046 => "ChartAxesused",
278
- 0x1048 => "ChartSbaseref",
279
- 0x104A => "ChartSerparent",
280
- 0x104B => "ChartSerauxtrend",
281
- 0x104E => "ChartIfmt",
282
- 0x104F => "ChartPos",
283
- 0x1050 => "ChartAlruns",
284
- 0x1051 => "ChartAI",
285
- 0x105B => "ChartSerauxerrbar",
286
- 0x105D => "ChartSerfmt",
287
- 0x105F => "Chart3DDataFormat",
288
- 0x1060 => "ChartFbi",
289
- 0x1061 => "ChartBoppop",
290
- 0x1062 => "ChartAxcext",
291
- 0x1063 => "ChartDat",
292
- 0x1064 => "ChartPlotgrowth",
293
- 0x1065 => "ChartSiindex",
294
- 0x1066 => "ChartGelframe",
295
- 0x1067 => "ChartBoppcustom",
296
- 0xFFFF => ""
297
- }
298
-
299
-
300
- STD_FUNC_BY_NAME = {
301
- "ABS" => [0x018, 1, 1, "V", "V", false], # 1
302
- "ACOS" => [0x063, 1, 1, "V", "V", false], # 2
303
- "ACOSH" => [0x0e9, 1, 1, "V", "V", false], # 3
304
- "ADDRESS" => [0x0db, 2, 5, "V", "V V V V V", false], # 4
305
- "AND" => [0x024, 1, 30, "V", "R ...", false], # 5
306
- "ARCTAN" => [0x012, 1, 1, "V", "V", false], # 6
307
- "AREAS" => [0x04b, 1, 1, "V", "R", false], # 7
308
- "ASC" => [0x0d6, 1, 1, "V", "V", false], # 8
309
- "ASIN" => [0x062, 1, 1, "V", "V", false], # 9
310
- "ASINH" => [0x0e8, 1, 1, "V", "V", false], # 10
311
- "ATAN2" => [0x061, 2, 2, "V", "V V", false], # 11
312
- "ATANH" => [0x0ea, 1, 1, "V", "V", false], # 12
313
- "AVEDEV" => [0x10d, 1, 30, "V", "R ...", false], # 13
314
- "AVERAGE" => [0x005, 1, 30, "V", "R ...", false], # 14
315
- "AVERAGEA" => [0x169, 1, 30, "V", "R ...", false], # 15
316
- "BETADIST" => [0x10e, 3, 5, "V", "V V V V V", false], # 16
317
- "BETAINV" => [0x110, 3, 5, "V", "V V V V V", false], # 17
318
- "BINOMDIST" => [0x111, 4, 4, "V", "V V V V", false], # 18
319
- "CEILING" => [0x120, 2, 2, "V", "V V", false], # 19
320
- "CELL" => [0x07d, 1, 2, "V", "V R", true], # 20
321
- "CHAR" => [0x06f, 1, 1, "V", "V", false], # 21
322
- "CHIDIST" => [0x112, 2, 2, "V", "V V", false], # 22
323
- "CHIINV" => [0x113, 2, 2, "V", "V V", false], # 23
324
- "CHITEST" => [0x132, 2, 2, "V", "A A", false], # 24
325
- "CHOOSE" => [0x064, 2, 30, "R", "V R ...", false], # 25
326
- "CLEAN" => [0x0a2, 1, 1, "V", "V", false], # 26
327
- "CODE" => [0x079, 1, 1, "V", "V", false], # 27
328
- "COLUMN" => [0x009, 0, 1, "V", "R", false], # 28
329
- "COLUMNS" => [0x04d, 1, 1, "V", "R", false], # 29
330
- "COMBIN" => [0x114, 2, 2, "V", "V V", false], # 30
331
- "CONCATENATE" => [0x150, 0, 30, "V", "V ...", false], # 31
332
- "CONFIDENCE" => [0x115, 3, 3, "V", "V V V", false], # 32
333
- "CORREL" => [0x133, 2, 2, "V", "A A", false], # 33
334
- "COS" => [0x010, 1, 1, "V", "V", false], # 34
335
- "COSH" => [0x0e6, 1, 1, "V", "V", false], # 35
336
- "COUNT" => [0x000, 0, 30, "V", "R ...", false], # 36
337
- "COUNTA" => [0x0a9, 0, 30, "V", "R ...", false], # 37
338
- "COUNTBLANK" => [0x15b, 1, 1, "V", "R", false], # 38
339
- "COUNTIF" => [0x15a, 2, 2, "V", "R V", false], # 39
340
- "COVAR" => [0x134, 2, 2, "V", "A A", false], # 40
341
- "CRITBINOM" => [0x116, 3, 3, "V", "V V V", false], # 41
342
- "DATE" => [0x041, 3, 3, "V", "V V V", false], # 42
343
- "DATEDIF" => [0x15f, 3, 3, "V", "V V V", false], # 43
344
- "DATESTRING" => [0x160, 1, 1, "V", "V", false], # 44
345
- "DATEVALUE" => [0x08c, 1, 1, "V", "V", false], # 45
346
- "DAVERAGE" => [0x02a, 3, 3, "V", "R R R", false], # 46
347
- "DAY" => [0x043, 1, 1, "V", "V", false], # 47
348
- "DAYS360" => [0x0dc, 2, 3, "V", "V V V", false], # 48
349
- "DB" => [0x0f7, 4, 5, "V", "V V V V V", false], # 49
350
- "DBSC" => [0x0d7, 1, 1, "V", "V", false], # 50
351
- "DCOUNT" => [0x028, 3, 3, "V", "R R R", false], # 51
352
- "DCOUNTA" => [0x0c7, 3, 3, "V", "R R R", false], # 52
353
- "DDB" => [0x090, 4, 5, "V", "V V V V V", false], # 53
354
- "DEGREES" => [0x157, 1, 1, "V", "V", false], # 54
355
- "DEVSQ" => [0x13e, 1, 30, "V", "R ...", false], # 55
356
- "DGET" => [0x0eb, 3, 3, "V", "R R R", false], # 56
357
- "DMAX" => [0x02c, 3, 3, "V", "R R R", false], # 57
358
- "DMIN" => [0x02b, 3, 3, "V", "R R R", false], # 58
359
- "DOLLAR" => [0x00d, 1, 2, "V", "V V", false], # 59
360
- "DPRODUCT" => [0x0bf, 3, 3, "V", "R R R", false], # 60
361
- "DSTDEV" => [0x02d, 3, 3, "V", "R R R", false], # 61
362
- "DSTDEVP" => [0x0c3, 3, 3, "V", "R R R", false], # 62
363
- "DSUM" => [0x029, 3, 3, "V", "R R R", false], # 63
364
- "DVAR" => [0x02f, 3, 3, "V", "R R R", false], # 64
365
- "DVARP" => [0x0c4, 3, 3, "V", "R R R", false], # 65
366
- "ERROR.TYPE" => [0x105, 1, 1, "V", "V", false], # 66
367
- "EVEN" => [0x117, 1, 1, "V", "V", false], # 67
368
- "EXACT" => [0x075, 2, 2, "V", "V V", false], # 68
369
- "EXP" => [0x015, 1, 1, "V", "V", false], # 69
370
- "EXPONDIST" => [0x118, 3, 3, "V", "V V V", false], # 70
371
- "FACT" => [0x0b8, 1, 1, "V", "V", false], # 71
372
- "FALSE" => [0x023, 0, 0, "V", "-", false], # 72
373
- "FDIST" => [0x119, 3, 3, "V", "V V V", false], # 73
374
- "FIND" => [0x07c, 2, 3, "V", "V V V", false], # 74
375
- "FINDB" => [0x0cd, 2, 3, "V", "V V V", false], # 75
376
- "FINV" => [0x11a, 3, 3, "V", "V V V", false], # 76
377
- "FISHER" => [0x11b, 1, 1, "V", "V", false], # 77
378
- "FISHERINV" => [0x11c, 1, 1, "V", "V", false], # 78
379
- "FIXED" => [0x00e, 2, 3, "V", "V V V", false], # 79
380
- "FLOOR" => [0x11d, 2, 2, "V", "V V", false], # 80
381
- "FORECAST" => [0x135, 3, 3, "V", "V A A", false], # 81
382
- "FREQUENCY" => [0x0fc, 2, 2, "A", "R R", false], # 82
383
- "FTEST" => [0x136, 2, 2, "V", "A A", false], # 83
384
- "FV" => [0x039, 3, 5, "V", "V V V V V", false], # 84
385
- "GAMMADIST" => [0x11e, 4, 4, "V", "V V V V", false], # 85
386
- "GAMMAINV" => [0x11f, 3, 3, "V", "V V V", false], # 86
387
- "GAMMALN" => [0x10f, 1, 1, "V", "V", false], # 87
388
- "GEOMEAN" => [0x13f, 1, 30, "V", "R ...", false], # 88
389
- "GETPIVOTDATA" => [0x166, 2, 30, "A", "-", false], # 89
390
- "GROWTH" => [0x034, 1, 4, "A", "R R R V", false], # 90
391
- "HARMEAN" => [0x140, 1, 30, "V", "R ...", false], # 91
392
- "HLOOKUP" => [0x065, 3, 4, "V", "V R R V", false], # 92
393
- "HOUR" => [0x047, 1, 1, "V", "V", false], # 93
394
- "HYPERLINK" => [0x167, 1, 2, "V", "V V", false], # 94
395
- "HYPGEOMVERT" => [0x121, 4, 4, "V", "V V V V", false], # 95
396
- "IF" => [0x001, 2, 3, "V", "V V V", false], # 96
397
- "INDEX" => [0x01d, 2, 4, "R", "R V V V", false], # 97
398
- "INDIRECT" => [0x094, 1, 2, "R", "V V", true], # 98
399
- "INFO" => [0x0f4, 1, 1, "V", "V", false], # 99
400
- "INT" => [0x019, 1, 1, "V", "V", false], # 100
401
- "INTERCEPT" => [0x137, 2, 2, "V", "A A", false], # 101
402
- "IPMT" => [0x0a7, 4, 6, "V", "V V V V V V", false], # 102
403
- "IRR" => [0x03e, 1, 2, "V", "R V", false], # 103
404
- "ISBLANK" => [0x081, 1, 1, "V", "V", false], # 104
405
- "ISERR" => [0x07e, 1, 1, "V", "V", false], # 105
406
- "ISERROR" => [0x003, 1, 1, "V", "V", false], # 106
407
- "ISLOGICAL" => [0x0c6, 1, 1, "V", "V", false], # 107
408
- "ISNA" => [0x002, 1, 1, "V", "V", false], # 108
409
- "ISNONTEXT" => [0x0c0, 1, 1, "V", "V", false], # 109
410
- "ISNUMBER" => [0x080, 1, 1, "V", "V", false], # 110
411
- "ISPMT" => [0x15e, 4, 4, "V", "V V V V", false], # 111
412
- "ISREF" => [0x069, 1, 1, "V", "R", false], # 112
413
- "ISTEXT" => [0x07f, 1, 1, "V", "V", false], # 113
414
- "KURT" => [0x142, 1, 30, "V", "R ...", false], # 114
415
- "LARGE" => [0x145, 2, 2, "V", "R V", false], # 115
416
- "LEFT" => [0x073, 1, 2, "V", "V V", false], # 116
417
- "LEFTB" => [0x0d0, 1, 2, "V", "V V", false], # 117
418
- "LEN" => [0x020, 1, 1, "V", "V", false], # 118
419
- "LENB" => [0x0d3, 1, 1, "V", "V", false], # 119
420
- "LINEST" => [0x031, 1, 4, "A", "R R V V", false], # 120
421
- "LN" => [0x016, 1, 1, "V", "V", false], # 121
422
- "LOG" => [0x06d, 1, 2, "V", "V V", false], # 122
423
- "LOG10" => [0x017, 1, 1, "V", "V", false], # 123
424
- "LOGEST" => [0x033, 1, 4, "A", "R R V V", false], # 124
425
- "LOGINV" => [0x123, 3, 3, "V", "V V V", false], # 125
426
- "LOGNORMDIST" => [0x122, 3, 3, "V", "V V V", false], # 126
427
- "LOOKUP" => [0x01c, 2, 3, "V", "V R R", false], # 127
428
- "LOWER" => [0x070, 1, 1, "V", "V", false], # 128
429
- "MATCH" => [0x040, 2, 3, "V", "V R R", false], # 129
430
- "MAX" => [0x007, 1, 30, "V", "R ...", false], # 130
431
- "MAXA" => [0x16a, 1, 30, "V", "R ...", false], # 131
432
- "MDETERM" => [0x0a3, 1, 1, "V", "A", false], # 132
433
- "MEDIAN" => [0x0e3, 1, 30, "V", "R ...", false], # 133
434
- "MID" => [0x01f, 3, 3, "V", "V V V", false], # 134
435
- "MIDB" => [0x0d2, 3, 3, "V", "V V V", false], # 135
436
- "MIN" => [0x006, 1, 30, "V", "R ...", false], # 136
437
- "MINA" => [0x16b, 1, 30, "V", "R ...", false], # 137
438
- "MINUTE" => [0x048, 1, 1, "V", "V", false], # 138
439
- "MINVERSE" => [0x0a4, 1, 1, "A", "A", false], # 139
440
- "MIRR" => [0x03d, 3, 3, "V", "R V V", false], # 140
441
- "MMULT" => [0x0a5, 2, 2, "A", "A A", false], # 141
442
- "MNORMSINV" => [0x128, 1, 1, "V", "V", false], # 142
443
- "MOD" => [0x027, 2, 2, "V", "V V", false], # 143
444
- "MODE" => [0x14a, 1, 30, "V", "A ...", false], # 144
445
- "MONTH" => [0x044, 1, 1, "V", "V", false], # 145
446
- "N" => [0x083, 1, 1, "V", "R", false], # 146
447
- "NA" => [0x00a, 0, 0, "V", "-", false], # 147
448
- "NEGBINOMDIST" => [0x124, 3, 3, "V", "V V V", false], # 148
449
- "NORMDIST" => [0x125, 4, 4, "V", "V V V V", false], # 149
450
- "NORMINV" => [0x127, 3, 3, "V", "V V V", false], # 150
451
- "NORMSDIST" => [0x126, 1, 1, "V", "V", false], # 151
452
- "NOT" => [0x026, 1, 1, "V", "V", false], # 152
453
- "NOW" => [0x04a, 0, 0, "V", "-", true], # 153
454
- "NPER" => [0x03a, 3, 5, "V", "V V V V V", false], # 154
455
- "NPV" => [0x00b, 2, 30, "V", "V R ...", false], # 155
456
- "NUMBERSTRING" => [0x161, 2, 2, "V", "V V", false], # 156
457
- "ODD" => [0x12a, 1, 1, "V", "V", false], # 157
458
- "OFFSET" => [0x04e, 3, 5, "R", "R V V V V", true], # 158
459
- "OR" => [0x025, 1, 30, "V", "R ...", false], # 159
460
- "PEARSON" => [0x138, 2, 2, "V", "A A", false], # 160
461
- "PERCENTILE" => [0x148, 2, 2, "V", "R V", false], # 161
462
- "PERCENTRANK" => [0x149, 2, 3, "V", "R V V", false], # 162
463
- "PERMUT" => [0x12b, 2, 2, "V", "V V", false], # 163
464
- "PHONETIC" => [0x168, 1, 1, "V", "R", false], # 164
465
- "PI" => [0x013, 0, 0, "V", "-", false], # 165
466
- "PMT" => [0x03b, 3, 5, "V", "V V V V V", false], # 166
467
- "POISSON" => [0x12c, 3, 3, "V", "V V V", false], # 167
468
- "POWER" => [0x151, 2, 2, "V", "V V", false], # 168
469
- "PPMT" => [0x0a8, 4, 6, "V", "V V V V V V", false], # 169
470
- "PROB" => [0x13d, 3, 4, "V", "A A V V", false], # 170
471
- "PRODUCT" => [0x0b7, 0, 30, "V", "R ...", false], # 171
472
- "PROPER" => [0x072, 1, 1, "V", "V", false], # 172
473
- "PV" => [0x038, 3, 5, "V", "V V V V V", false], # 173
474
- "QUARTILE" => [0x147, 2, 2, "V", "R V", false], # 174
475
- "RADIANS" => [0x156, 1, 1, "V", "V", false], # 175
476
- "RAND" => [0x03f, 0, 0, "V", "-", true], # 176
477
- "RANK" => [0x0d8, 2, 3, "V", "V R V", false], # 177
478
- "RATE" => [0x03c, 3, 6, "V", "V V V V V V", false], # 178
479
- "REPLACE" => [0x077, 4, 4, "V", "V V V V", false], # 179
480
- "REPLACEB" => [0x0cf, 4, 4, "V", "V V V V", false], # 180
481
- "REPT" => [0x01e, 2, 2, "V", "V V", false], # 181
482
- "RIGHT" => [0x074, 1, 2, "V", "V V", false], # 182
483
- "RIGHTB" => [0x0d1, 1, 2, "V", "V V", false], # 183
484
- "ROMAN" => [0x162, 1, 2, "V", "V V", false], # 184
485
- "ROUND" => [0x01b, 2, 2, "V", "V V", false], # 185
486
- "ROUNDDOWN" => [0x0d5, 2, 2, "V", "V V", false], # 186
487
- "ROUNDUP" => [0x0d4, 2, 2, "V", "V V", false], # 187
488
- "ROW" => [0x008, 0, 1, "V", "R", false], # 188
489
- "ROWS" => [0x04c, 1, 1, "V", "R", false], # 189
490
- "RSQ" => [0x139, 2, 2, "V", "A A", false], # 190
491
- "SEARCH" => [0x052, 2, 3, "V", "V V V", false], # 191
492
- "SEARCHB" => [0x0ce, 2, 3, "V", "V V V", false], # 192
493
- "SECOND" => [0x049, 1, 1, "V", "V", false], # 193
494
- "SIGN" => [0x01a, 1, 1, "V", "V", false], # 194
495
- "SIN" => [0x00f, 1, 1, "V", "V", false], # 195
496
- "SINH" => [0x0e5, 1, 1, "V", "V", false], # 196
497
- "SKEW" => [0x143, 1, 30, "V", "R ...", false], # 197
498
- "SLN" => [0x08e, 3, 3, "V", "V V V", false], # 198
499
- "SLOPE" => [0x13b, 2, 2, "V", "A A", false], # 199
500
- "SMALL" => [0x146, 2, 2, "V", "R V", false], # 200
501
- "SQRT" => [0x014, 1, 1, "V", "V", false], # 201
502
- "STANDARDIZE" => [0x129, 3, 3, "V", "V V V", false], # 202
503
- "STDEV" => [0x00c, 1, 30, "V", "R ...", false], # 203
504
- "STDEVA" => [0x16e, 1, 30, "V", "R ...", false], # 204
505
- "STDEVP" => [0x0c1, 1, 30, "V", "R ...", false], # 205
506
- "STDEVPA" => [0x16c, 1, 30, "V", "R ...", false], # 206
507
- "STEYX" => [0x13a, 2, 2, "V", "A A", false], # 207
508
- "SUBSTITUTE" => [0x078, 3, 4, "V", "V V V V", false], # 208
509
- "SUBTOTAL" => [0x158, 2, 30, "V", "V R ...", false], # 209
510
- "SUM" => [0x004, 0, 30, "V", "R ...", false], # 210
511
- "SUMIF" => [0x159, 2, 3, "V", "R V R", false], # 211
512
- "SUMPRODUCT" => [0x0e4, 1, 30, "V", "A ...", false], # 212
513
- "SUMSQ" => [0x141, 0, 30, "V", "R ...", false], # 213
514
- "SUMX2MY2" => [0x130, 2, 2, "V", "A A", false], # 214
515
- "SUMX2PY2" => [0x131, 2, 2, "V", "A A", false], # 215
516
- "SUMXMY2" => [0x12f, 2, 2, "V", "A A", false], # 216
517
- "SYD" => [0x08f, 4, 4, "V", "V V V V", false], # 217
518
- "T" => [0x082, 1, 1, "V", "R", false], # 218
519
- "TAN" => [0x011, 1, 1, "V", "V", false], # 219
520
- "TANH" => [0x0e7, 1, 1, "V", "V", false], # 220
521
- "TDIST" => [0x12d, 3, 3, "V", "V V V", false], # 221
522
- "TEXT" => [0x030, 2, 2, "V", "V V", false], # 222
523
- "TIME" => [0x042, 3, 3, "V", "V V V", false], # 223
524
- "TIMEVALUE" => [0x08d, 1, 1, "V", "V", false], # 224
525
- "TINV" => [0x14c, 2, 2, "V", "V V", false], # 225
526
- "TODAY" => [0x0dd, 0, 0, "V", "-", true], # 226
527
- "TRANSPOSE" => [0x053, 1, 1, "A", "A", false], # 227
528
- "TREND" => [0x032, 1, 4, "A", "R R R V", false], # 228
529
- "TRIM" => [0x076, 1, 1, "V", "V", false], # 229
530
- "TRIMMEAN" => [0x14b, 2, 2, "V", "R V", false], # 230
531
- "TRUE" => [0x022, 0, 0, "V", "-", false], # 231
532
- "TRUNC" => [0x0c5, 1, 2, "V", "V V", false], # 232
533
- "TTEST" => [0x13c, 4, 4, "V", "A A V V", false], # 233
534
- "TYPE" => [0x056, 1, 1, "V", "V", false], # 234
535
- "UPPER" => [0x071, 1, 1, "V", "V", false], # 235
536
- "USDOLLAR" => [0x0cc, 1, 2, "V", "V V", false], # 236
537
- "VALUE" => [0x021, 1, 1, "V", "V", false], # 237
538
- "VAR" => [0x02e, 1, 30, "V", "R ...", false], # 238
539
- "VARA" => [0x16f, 1, 30, "V", "R ...", false], # 239
540
- "VARP" => [0x0c2, 1, 30, "V", "R ...", false], # 240
541
- "VARPA" => [0x16d, 1, 30, "V", "R ...", false], # 241
542
- "VDB" => [0x0de, 5, 7, "V", "V V V V V V V", false], # 242
543
- "VLOOKUP" => [0x066, 3, 4, "V", "V R R V", false], # 243
544
- "WEEKDAY" => [0x046, 1, 2, "V", "V V", false], # 244
545
- "WEIBULL" => [0x12e, 4, 4, "V", "V V V V", false], # 245
546
- "YEAR" => [0x045, 1, 1, "V", "V", false], # 246
547
- "ZTEST" => [0x144, 2, 3, "V", "R V V", false] # 247
548
- }
549
-
550
-
551
- STD_FUNC_BY_NUM = {
552
- 0x000 => [ "COUNT", 0, 30, "V", "R ...", false], # 1
553
- 0x001 => [ "IF", 2, 3, "R", "V R R", false], # 2
554
- 0x002 => [ "ISNA", 1, 1, "V", "V", false], # 3
555
- 0x003 => [ "ISERROR", 1, 1, "V", "V", false], # 4
556
- 0x004 => [ "SUM", 0, 30, "V", "R ...", false], # 5
557
- 0x005 => [ "AVERAGE", 1, 30, "V", "R ...", false], # 6
558
- 0x006 => [ "MIN", 1, 30, "V", "R ...", false], # 7
559
- 0x007 => [ "MAX", 1, 30, "V", "R ...", false], # 8
560
- 0x008 => [ "ROW", 0, 1, "V", "R", false], # 9
561
- 0x009 => [ "COLUMN", 0, 1, "V", "R", false], # 10
562
- 0x00a => [ "NA", 0, 0, "V", "-", false], # 11
563
- 0x00b => [ "NPV", 2, 30, "V", "V R ...", false], # 12
564
- 0x00c => [ "STDEV", 1, 30, "V", "R ...", false], # 13
565
- 0x00d => [ "DOLLAR", 1, 2, "V", "V V", false], # 14
566
- 0x00e => [ "FIXED", 2, 3, "V", "V V V", false], # 15
567
- 0x00f => [ "SIN", 1, 1, "V", "V", false], # 16
568
- 0x010 => [ "COS", 1, 1, "V", "V", false], # 17
569
- 0x011 => [ "TAN", 1, 1, "V", "V", false], # 18
570
- 0x012 => [ "ARCTAN", 1, 1, "V", "V", false], # 19
571
- 0x013 => [ "PI", 0, 0, "V", "-", false], # 20
572
- 0x014 => [ "SQRT", 1, 1, "V", "V", false], # 21
573
- 0x015 => [ "EXP", 1, 1, "V", "V", false], # 22
574
- 0x016 => [ "LN", 1, 1, "V", "V", false], # 23
575
- 0x017 => [ "LOG10", 1, 1, "V", "V", false], # 24
576
- 0x018 => [ "ABS", 1, 1, "V", "V", false], # 25
577
- 0x019 => [ "INT", 1, 1, "V", "V", false], # 26
578
- 0x01a => [ "SIGN", 1, 1, "V", "V", false], # 27
579
- 0x01b => [ "ROUND", 2, 2, "V", "V V", false], # 28
580
- 0x01c => [ "LOOKUP", 2, 3, "V", "V R R", false], # 29
581
- 0x01d => [ "INDEX", 2, 4, "R", "R V V V", false], # 30
582
- 0x01e => [ "REPT", 2, 2, "V", "V V", false], # 31
583
- 0x01f => [ "MID", 3, 3, "V", "V V V", false], # 32
584
- 0x020 => [ "LEN", 1, 1, "V", "V", false], # 33
585
- 0x021 => [ "VALUE", 1, 1, "V", "V", false], # 34
586
- 0x022 => [ "TRUE", 0, 0, "V", "-", false], # 35
587
- 0x023 => [ "FALSE", 0, 0, "V", "-", false], # 36
588
- 0x024 => [ "AND", 1, 30, "V", "R ...", false], # 37
589
- 0x025 => [ "OR", 1, 30, "V", "R ...", false], # 38
590
- 0x026 => [ "NOT", 1, 1, "V", "V", false], # 39
591
- 0x027 => [ "MOD", 2, 2, "V", "V V", false], # 40
592
- 0x028 => [ "DCOUNT", 3, 3, "V", "R R R", false], # 41
593
- 0x029 => [ "DSUM", 3, 3, "V", "R R R", false], # 42
594
- 0x02a => [ "DAVERAGE", 3, 3, "V", "R R R", false], # 43
595
- 0x02b => [ "DMIN", 3, 3, "V", "R R R", false], # 44
596
- 0x02c => [ "DMAX", 3, 3, "V", "R R R", false], # 45
597
- 0x02d => [ "DSTDEV", 3, 3, "V", "R R R", false], # 46
598
- 0x02e => [ "VAR", 1, 30, "V", "R ...", false], # 47
599
- 0x02f => [ "DVAR", 3, 3, "V", "R R R", false], # 48
600
- 0x030 => [ "TEXT", 2, 2, "V", "V V", false], # 49
601
- 0x031 => [ "LINEST", 1, 4, "A", "R R V V", false], # 50
602
- 0x032 => [ "TREND", 1, 4, "A", "R R R V", false], # 51
603
- 0x033 => [ "LOGEST", 1, 4, "A", "R R V V", false], # 52
604
- 0x034 => [ "GROWTH", 1, 4, "A", "R R R V", false], # 53
605
- 0x038 => [ "PV", 3, 5, "V", "V V V V V", false], # 54
606
- 0x039 => [ "FV", 3, 5, "V", "V V V V V", false], # 55
607
- 0x03a => [ "NPER", 3, 5, "V", "V V V V V", false], # 56
608
- 0x03b => [ "PMT", 3, 5, "V", "V V V V V", false], # 57
609
- 0x03c => [ "RATE", 3, 6, "V", "V V V V V V", false], # 58
610
- 0x03d => [ "MIRR", 3, 3, "V", "R V V", false], # 59
611
- 0x03e => [ "IRR", 1, 2, "V", "R V", false], # 60
612
- 0x03f => [ "RAND", 0, 0, "V", "-", true], # 61
613
- 0x040 => [ "MATCH", 2, 3, "V", "V R R", false], # 62
614
- 0x041 => [ "DATE", 3, 3, "V", "V V V", false], # 63
615
- 0x042 => [ "TIME", 3, 3, "V", "V V V", false], # 64
616
- 0x043 => [ "DAY", 1, 1, "V", "V", false], # 65
617
- 0x044 => [ "MONTH", 1, 1, "V", "V", false], # 66
618
- 0x045 => [ "YEAR", 1, 1, "V", "V", false], # 67
619
- 0x046 => [ "WEEKDAY", 1, 2, "V", "V V", false], # 68
620
- 0x047 => [ "HOUR", 1, 1, "V", "V", false], # 69
621
- 0x048 => [ "MINUTE", 1, 1, "V", "V", false], # 70
622
- 0x049 => [ "SECOND", 1, 1, "V", "V", false], # 71
623
- 0x04a => [ "NOW", 0, 0, "V", "-", true], # 72
624
- 0x04b => [ "AREAS", 1, 1, "V", "R", false], # 73
625
- 0x04c => [ "ROWS", 1, 1, "V", "R", false], # 74
626
- 0x04d => [ "COLUMNS", 1, 1, "V", "R", false], # 75
627
- 0x04e => [ "OFFSET", 3, 5, "R", "R V V V V", true], # 76
628
- 0x052 => [ "SEARCH", 2, 3, "V", "V V V", false], # 77
629
- 0x053 => [ "TRANSPOSE", 1, 1, "A", "A", false], # 78
630
- 0x056 => [ "TYPE", 1, 1, "V", "V", false], # 79
631
- 0x061 => [ "ATAN2", 2, 2, "V", "V V", false], # 80
632
- 0x062 => [ "ASIN", 1, 1, "V", "V", false], # 81
633
- 0x063 => [ "ACOS", 1, 1, "V", "V", false], # 82
634
- 0x064 => [ "CHOOSE", 2, 30, "R", "V R ...", false], # 83
635
- 0x065 => [ "HLOOKUP", 3, 4, "V", "V R R V", false], # 84
636
- 0x066 => [ "VLOOKUP", 3, 4, "V", "V R R V", false], # 85
637
- 0x069 => [ "ISREF", 1, 1, "V", "R", false], # 86
638
- 0x06d => [ "LOG", 1, 2, "V", "V V", false], # 87
639
- 0x06f => [ "CHAR", 1, 1, "V", "V", false], # 88
640
- 0x070 => [ "LOWER", 1, 1, "V", "V", false], # 89
641
- 0x071 => [ "UPPER", 1, 1, "V", "V", false], # 90
642
- 0x072 => [ "PROPER", 1, 1, "V", "V", false], # 91
643
- 0x073 => [ "LEFT", 1, 2, "V", "V V", false], # 92
644
- 0x074 => [ "RIGHT", 1, 2, "V", "V V", false], # 93
645
- 0x075 => [ "EXACT", 2, 2, "V", "V V", false], # 94
646
- 0x076 => [ "TRIM", 1, 1, "V", "V", false], # 95
647
- 0x077 => [ "REPLACE", 4, 4, "V", "V V V V", false], # 96
648
- 0x078 => [ "SUBSTITUTE", 3, 4, "V", "V V V V", false], # 97
649
- 0x079 => [ "CODE", 1, 1, "V", "V", false], # 98
650
- 0x07c => [ "FIND", 2, 3, "V", "V V V", false], # 99
651
- 0x07d => [ "CELL", 1, 2, "V", "V R", true], # 100
652
- 0x07e => [ "ISERR", 1, 1, "V", "V", false], # 101
653
- 0x07f => [ "ISTEXT", 1, 1, "V", "V", false], # 102
654
- 0x080 => [ "ISNUMBER", 1, 1, "V", "V", false], # 103
655
- 0x081 => [ "ISBLANK", 1, 1, "V", "V", false], # 104
656
- 0x082 => [ "T", 1, 1, "V", "R", false], # 105
657
- 0x083 => [ "N", 1, 1, "V", "R", false], # 106
658
- 0x08c => [ "DATEVALUE", 1, 1, "V", "V", false], # 107
659
- 0x08d => [ "TIMEVALUE", 1, 1, "V", "V", false], # 108
660
- 0x08e => [ "SLN", 3, 3, "V", "V V V", false], # 109
661
- 0x08f => [ "SYD", 4, 4, "V", "V V V V", false], # 110
662
- 0x090 => [ "DDB", 4, 5, "V", "V V V V V", false], # 111
663
- 0x094 => [ "INDIRECT", 1, 2, "R", "V V", true], # 112
664
- 0x0a2 => [ "CLEAN", 1, 1, "V", "V", false], # 113
665
- 0x0a3 => [ "MDETERM", 1, 1, "V", "A", false], # 114
666
- 0x0a4 => [ "MINVERSE", 1, 1, "A", "A", false], # 115
667
- 0x0a5 => [ "MMULT", 2, 2, "A", "A A", false], # 116
668
- 0x0a7 => [ "IPMT", 4, 6, "V", "V V V V V V", false], # 117
669
- 0x0a8 => [ "PPMT", 4, 6, "V", "V V V V V V", false], # 118
670
- 0x0a9 => [ "COUNTA", 0, 30, "V", "R ...", false], # 119
671
- 0x0b7 => [ "PRODUCT", 0, 30, "V", "R ...", false], # 120
672
- 0x0b8 => [ "FACT", 1, 1, "V", "V", false], # 121
673
- 0x0bf => [ "DPRODUCT", 3, 3, "V", "R R R", false], # 122
674
- 0x0c0 => [ "ISNONTEXT", 1, 1, "V", "V", false], # 123
675
- 0x0c1 => [ "STDEVP", 1, 30, "V", "R ...", false], # 124
676
- 0x0c2 => [ "VARP", 1, 30, "V", "R ...", false], # 125
677
- 0x0c3 => [ "DSTDEVP", 3, 3, "V", "R R R", false], # 126
678
- 0x0c4 => [ "DVARP", 3, 3, "V", "R R R", false], # 127
679
- 0x0c5 => [ "TRUNC", 1, 2, "V", "V V", false], # 128
680
- 0x0c6 => [ "ISLOGICAL", 1, 1, "V", "V", false], # 129
681
- 0x0c7 => [ "DCOUNTA", 3, 3, "V", "R R R", false], # 130
682
- 0x0cc => [ "USDOLLAR", 1, 2, "V", "V V", false], # 131
683
- 0x0cd => [ "FINDB", 2, 3, "V", "V V V", false], # 132
684
- 0x0ce => [ "SEARCHB", 2, 3, "V", "V V V", false], # 133
685
- 0x0cf => [ "REPLACEB", 4, 4, "V", "V V V V", false], # 134
686
- 0x0d0 => [ "LEFTB", 1, 2, "V", "V V", false], # 135
687
- 0x0d1 => [ "RIGHTB", 1, 2, "V", "V V", false], # 136
688
- 0x0d2 => [ "MIDB", 3, 3, "V", "V V V", false], # 137
689
- 0x0d3 => [ "LENB", 1, 1, "V", "V", false], # 138
690
- 0x0d4 => [ "ROUNDUP", 2, 2, "V", "V V", false], # 139
691
- 0x0d5 => [ "ROUNDDOWN", 2, 2, "V", "V V", false], # 140
692
- 0x0d6 => [ "ASC", 1, 1, "V", "V", false], # 141
693
- 0x0d7 => [ "DBSC", 1, 1, "V", "V", false], # 142
694
- 0x0d8 => [ "RANK", 2, 3, "V", "V R V", false], # 143
695
- 0x0db => [ "ADDRESS", 2, 5, "V", "V V V V V", false], # 144
696
- 0x0dc => [ "DAYS360", 2, 3, "V", "V V V", false], # 145
697
- 0x0dd => [ "TODAY", 0, 0, "V", "-", true], # 146
698
- 0x0de => [ "VDB", 5, 7, "V", "V V V V V V V", false], # 147
699
- 0x0e3 => [ "MEDIAN", 1, 30, "V", "R ...", false], # 148
700
- 0x0e4 => [ "SUMPRODUCT", 1, 30, "V", "A ...", false], # 149
701
- 0x0e5 => [ "SINH", 1, 1, "V", "V", false], # 150
702
- 0x0e6 => [ "COSH", 1, 1, "V", "V", false], # 151
703
- 0x0e7 => [ "TANH", 1, 1, "V", "V", false], # 152
704
- 0x0e8 => [ "ASINH", 1, 1, "V", "V", false], # 153
705
- 0x0e9 => [ "ACOSH", 1, 1, "V", "V", false], # 154
706
- 0x0ea => [ "ATANH", 1, 1, "V", "V", false], # 155
707
- 0x0eb => [ "DGET", 3, 3, "V", "R R R", false], # 156
708
- 0x0f4 => [ "INFO", 1, 1, "V", "V", false], # 157
709
- 0x0f7 => [ "DB", 4, 5, "V", "V V V V V", false], # 158
710
- 0x0fc => [ "FREQUENCY", 2, 2, "A", "R R", false], # 159
711
- 0x105 => [ "ERROR.TYPE", 1, 1, "V", "V", false], # 160
712
- 0x10d => [ "AVEDEV", 1, 30, "V", "R ...", false], # 161
713
- 0x10e => [ "BETADIST", 3, 5, "V", "V V V V V", false], # 162
714
- 0x10f => [ "GAMMALN", 1, 1, "V", "V", false], # 163
715
- 0x110 => [ "BETAINV", 3, 5, "V", "V V V V V", false], # 164
716
- 0x111 => [ "BINOMDIST", 4, 4, "V", "V V V V", false], # 165
717
- 0x112 => [ "CHIDIST", 2, 2, "V", "V V", false], # 166
718
- 0x113 => [ "CHIINV", 2, 2, "V", "V V", false], # 167
719
- 0x114 => [ "COMBIN", 2, 2, "V", "V V", false], # 168
720
- 0x115 => [ "CONFIDENCE", 3, 3, "V", "V V V", false], # 169
721
- 0x116 => [ "CRITBINOM", 3, 3, "V", "V V V", false], # 170
722
- 0x117 => [ "EVEN", 1, 1, "V", "V", false], # 171
723
- 0x118 => [ "EXPONDIST", 3, 3, "V", "V V V", false], # 172
724
- 0x119 => [ "FDIST", 3, 3, "V", "V V V", false], # 173
725
- 0x11a => [ "FINV", 3, 3, "V", "V V V", false], # 174
726
- 0x11b => [ "FISHER", 1, 1, "V", "V", false], # 175
727
- 0x11c => [ "FISHERINV", 1, 1, "V", "V", false], # 176
728
- 0x11d => [ "FLOOR", 2, 2, "V", "V V", false], # 177
729
- 0x11e => [ "GAMMADIST", 4, 4, "V", "V V V V", false], # 178
730
- 0x11f => [ "GAMMAINV", 3, 3, "V", "V V V", false], # 179
731
- 0x120 => [ "CEILING", 2, 2, "V", "V V", false], # 180
732
- 0x121 => [ "HYPGEOMVERT", 4, 4, "V", "V V V V", false], # 181
733
- 0x122 => [ "LOGNORMDIST", 3, 3, "V", "V V V", false], # 182
734
- 0x123 => [ "LOGINV", 3, 3, "V", "V V V", false], # 183
735
- 0x124 => ["NEGBINOMDIST", 3, 3, "V", "V V V", false], # 184
736
- 0x125 => [ "NORMDIST", 4, 4, "V", "V V V V", false], # 185
737
- 0x126 => [ "NORMSDIST", 1, 1, "V", "V", false], # 186
738
- 0x127 => [ "NORMINV", 3, 3, "V", "V V V", false], # 187
739
- 0x128 => [ "MNORMSINV", 1, 1, "V", "V", false], # 188
740
- 0x129 => [ "STANDARDIZE", 3, 3, "V", "V V V", false], # 189
741
- 0x12a => [ "ODD", 1, 1, "V", "V", false], # 190
742
- 0x12b => [ "PERMUT", 2, 2, "V", "V V", false], # 191
743
- 0x12c => [ "POISSON", 3, 3, "V", "V V V", false], # 192
744
- 0x12d => [ "TDIST", 3, 3, "V", "V V V", false], # 193
745
- 0x12e => [ "WEIBULL", 4, 4, "V", "V V V V", false], # 194
746
- 0x12f => [ "SUMXMY2", 2, 2, "V", "A A", false], # 195
747
- 0x130 => [ "SUMX2MY2", 2, 2, "V", "A A", false], # 196
748
- 0x131 => [ "SUMX2PY2", 2, 2, "V", "A A", false], # 197
749
- 0x132 => [ "CHITEST", 2, 2, "V", "A A", false], # 198
750
- 0x133 => [ "CORREL", 2, 2, "V", "A A", false], # 199
751
- 0x134 => [ "COVAR", 2, 2, "V", "A A", false], # 200
752
- 0x135 => [ "FORECAST", 3, 3, "V", "V A A", false], # 201
753
- 0x136 => [ "FTEST", 2, 2, "V", "A A", false], # 202
754
- 0x137 => [ "INTERCEPT", 2, 2, "V", "A A", false], # 203
755
- 0x138 => [ "PEARSON", 2, 2, "V", "A A", false], # 204
756
- 0x139 => [ "RSQ", 2, 2, "V", "A A", false], # 205
757
- 0x13a => [ "STEYX", 2, 2, "V", "A A", false], # 206
758
- 0x13b => [ "SLOPE", 2, 2, "V", "A A", false], # 207
759
- 0x13c => [ "TTEST", 4, 4, "V", "A A V V", false], # 208
760
- 0x13d => [ "PROB", 3, 4, "V", "A A V V", false], # 209
761
- 0x13e => [ "DEVSQ", 1, 30, "V", "R ...", false], # 210
762
- 0x13f => [ "GEOMEAN", 1, 30, "V", "R ...", false], # 211
763
- 0x140 => [ "HARMEAN", 1, 30, "V", "R ...", false], # 212
764
- 0x141 => [ "SUMSQ", 0, 30, "V", "R ...", false], # 213
765
- 0x142 => [ "KURT", 1, 30, "V", "R ...", false], # 214
766
- 0x143 => [ "SKEW", 1, 30, "V", "R ...", false], # 215
767
- 0x144 => [ "ZTEST", 2, 3, "V", "R V V", false], # 216
768
- 0x145 => [ "LARGE", 2, 2, "V", "R V", false], # 217
769
- 0x146 => [ "SMALL", 2, 2, "V", "R V", false], # 218
770
- 0x147 => [ "QUARTILE", 2, 2, "V", "R V", false], # 219
771
- 0x148 => [ "PERCENTILE", 2, 2, "V", "R V", false], # 220
772
- 0x149 => [ "PERCENTRANK", 2, 3, "V", "R V V", false], # 221
773
- 0x14a => [ "MODE", 1, 30, "V", "A ...", false], # 222
774
- 0x14b => [ "TRIMMEAN", 2, 2, "V", "R V", false], # 223
775
- 0x14c => [ "TINV", 2, 2, "V", "V V", false], # 224
776
- 0x150 => [ "CONCATENATE", 0, 30, "V", "V ...", false], # 225
777
- 0x151 => [ "POWER", 2, 2, "V", "V V", false], # 226
778
- 0x156 => [ "RADIANS", 1, 1, "V", "V", false], # 227
779
- 0x157 => [ "DEGREES", 1, 1, "V", "V", false], # 228
780
- 0x158 => [ "SUBTOTAL", 2, 30, "V", "V R ...", false], # 229
781
- 0x159 => [ "SUMIF", 2, 3, "V", "R V R", false], # 230
782
- 0x15a => [ "COUNTIF", 2, 2, "V", "R V", false], # 231
783
- 0x15b => [ "COUNTBLANK", 1, 1, "V", "R", false], # 232
784
- 0x15e => [ "ISPMT", 4, 4, "V", "V V V V", false], # 233
785
- 0x15f => [ "DATEDIF", 3, 3, "V", "V V V", false], # 234
786
- 0x160 => [ "DATESTRING", 1, 1, "V", "V", false], # 235
787
- 0x161 => ["NUMBERSTRING", 2, 2, "V", "V V", false], # 236
788
- 0x162 => [ "ROMAN", 1, 2, "V", "V V", false], # 237
789
- 0x166 => ["GETPIVOTDATA", 2, 30, "A", "-", false], # 238
790
- 0x167 => [ "HYPERLINK", 1, 2, "V", "V V", false], # 239
791
- 0x168 => [ "PHONETIC", 1, 1, "V", "R", false], # 240
792
- 0x169 => [ "AVERAGEA", 1, 30, "V", "R ...", false], # 241
793
- 0x16a => [ "MAXA", 1, 30, "V", "R ...", false], # 242
794
- 0x16b => [ "MINA", 1, 30, "V", "R ...", false], # 243
795
- 0x16c => [ "STDEVPA", 1, 30, "V", "R ...", false], # 244
796
- 0x16d => [ "VARPA", 1, 30, "V", "R ...", false], # 245
797
- 0x16e => [ "STDEVA", 1, 30, "V", "R ...", false], # 246
798
- 0x16f => [ "VARA", 1, 30, "V", "R ...", false] # 247
799
- }
800
-
801
-
802
- # Formulas Parse things
803
-
804
- PTGEXP = 0x01
805
- PTGTBL = 0x02
806
- PTGADD = 0x03
807
- PTGSUB = 0x04
808
- PTGMUL = 0x05
809
- PTGDIV = 0x06
810
- PTGPOWER = 0x07
811
- PTGCONCAT = 0x08
812
- PTGLT = 0x09
813
- PTGLE = 0x0a
814
- PTGEQ = 0x0b
815
- PTGGE = 0x0c
816
- PTGGT = 0x0d
817
- PTGNE = 0x0e
818
- PTGISECT = 0x0f
819
- PTGUNION = 0x10
820
- PTGRANGE = 0x11
821
- PTGUPLUS = 0x12
822
- PTGUMINUS = 0x13
823
- PTGPERCENT = 0x14
824
- PTGPAREN = 0x15
825
- PTGMISSARG = 0x16
826
- PTGSTR = 0x17
827
- PTGEXTEND = 0x18
828
- PTGATTR = 0x19
829
- PTGSHEET = 0x1a
830
- PTGENDSHEET = 0x1b
831
- PTGERR = 0x1c
832
- PTGBOOL = 0x1d
833
- PTGINT = 0x1e
834
- PTGNUM = 0x1f
835
-
836
- PTGARRAYR = 0x20
837
- PTGFUNCR = 0x21
838
- PTGFUNCVARR = 0x22
839
- PTGNAMER = 0x23
840
- PTGREFR = 0x24
841
- PTGAREAR = 0x25
842
- PTGMEMAREAR = 0x26
843
- PTGMEMERRR = 0x27
844
- PTGMEMNOMEMR = 0x28
845
- PTGMEMFUNCR = 0x29
846
- PTGREFERRR = 0x2a
847
- PTGAREAERRR = 0x2b
848
- PTGREFNR = 0x2c
849
- PTGAREANR = 0x2d
850
- PTGMEMAREANR = 0x2e
851
- PTGMEMNOMEMNR = 0x2f
852
- PTGNAMEXR = 0x39
853
- PTGREF3DR = 0x3a
854
- PTGAREA3DR = 0x3b
855
- PTGREFERR3DR = 0x3c
856
- PTGAREAERR3DR = 0x3d
857
-
858
- PTGARRAYV = 0x40
859
- PTGFUNCV = 0x41
860
- PTGFUNCVARV = 0x42
861
- PTGNAMEV = 0x43
862
- PTGREFV = 0x44
863
- PTGAREAV = 0x45
864
- PTGMEMAREAV = 0x46
865
- PTGMEMERRV = 0x47
866
- PTGMEMNOMEMV = 0x48
867
- PTGMEMFUNCV = 0x49
868
- PTGREFERRV = 0x4a
869
- PTGAREAERRV = 0x4b
870
- PTGREFNV = 0x4c
871
- PTGAREANV = 0x4d
872
- PTGMEMAREANV = 0x4e
873
- PTGMEMNOMEMNV = 0x4f
874
- PTGFUNCCEV = 0x58
875
- PTGNAMEXV = 0x59
876
- PTGREF3DV = 0x5a
877
- PTGAREA3DV = 0x5b
878
- PTGREFERR3DV = 0x5c
879
- PTGAREAERR3DV = 0x5d
880
-
881
- PTGARRAYA = 0x60
882
- PTGFUNCA = 0x61
883
- PTGFUNCVARA = 0x62
884
- PTGNAMEA = 0x63
885
- PTGREFA = 0x64
886
- PTGAREAA = 0x65
887
- PTGMEMAREAA = 0x66
888
- PTGMEMERRA = 0x67
889
- PTGMEMNOMEMA = 0x68
890
- PTGMEMFUNCA = 0x69
891
- PTGREFERRA = 0x6a
892
- PTGAREAERRA = 0x6b
893
- PTGREFNA = 0x6c
894
- PTGAREANA = 0x6d
895
- PTGMEMAREANA = 0x6e
896
- PTGMEMNOMEMNA = 0x6f
897
- PTGFUNCCEA = 0x78
898
- PTGNAMEXA = 0x79
899
- PTGREF3DA = 0x7a
900
- PTGAREA3DA = 0x7b
901
- PTGREFERR3DA = 0x7c
902
- PTGAREAERR3DA = 0x7d
903
-
904
-
905
- PTG_NAMES = {
906
- :ptgExp => "ptgExp",
907
- :ptgTbl => "ptgTbl",
908
- :ptgAdd => "ptgAdd",
909
- :ptgSub => "ptgSub",
910
- :ptgMul => "ptgMul",
911
- :ptgDiv => "ptgDiv",
912
- :ptgPower => "ptgPower",
913
- :ptgConcat => "ptgConcat",
914
- :ptgLT => "ptgLT",
915
- :ptgLE => "ptgLE",
916
- :ptgEQ => "ptgEQ",
917
- :ptgGE => "ptgGE",
918
- :ptgGT => "ptgGT",
919
- :ptgNE => "ptgNE",
920
- :ptgIsect => "ptgIsect",
921
- :ptgUnion => "ptgUnion",
922
- :ptgRange => "ptgRange",
923
- :ptgUplus => "ptgUplus",
924
- :ptgUminus => "ptgUminus",
925
- :ptgPercent => "ptgPercent",
926
- :ptgParen => "ptgParen",
927
- :ptgMissArg => "ptgMissArg",
928
- :ptgStr => "ptgStr",
929
- :ptgExtend => "ptgExtend",
930
- :ptgAttr => "ptgAttr",
931
- :ptgSheet => "ptgSheet",
932
- :ptgEndSheet => "ptgEndSheet",
933
- :ptgErr => "ptgErr",
934
- :ptgBool => "ptgBool",
935
- :ptgInt => "ptgInt",
936
- :ptgNum => "ptgNum",
937
- :ptgArrayR => "ptgArrayR",
938
- :ptgFuncR => "ptgFuncR",
939
- :ptgFuncVarR => "ptgFuncVarR",
940
- :ptgNameR => "ptgNameR",
941
- :ptgRefR => "ptgRefR",
942
- :ptgAreaR => "ptgAreaR",
943
- :ptgMemAreaR => "ptgMemAreaR",
944
- :ptgMemErrR => "ptgMemErrR",
945
- :ptgMemNoMemR => "ptgMemNoMemR",
946
- :ptgMemFuncR => "ptgMemFuncR",
947
- :ptgRefErrR => "ptgRefErrR",
948
- :ptgAreaErrR => "ptgAreaErrR",
949
- :ptgRefNR => "ptgRefNR",
950
- :ptgAreaNR => "ptgAreaNR",
951
- :ptgMemAreaNR => "ptgMemAreaNR",
952
- :ptgMemNoMemNR => "ptgMemNoMemNR",
953
- :ptgNameXR => "ptgNameXR",
954
- :ptgRef3dR => "ptgRef3dR",
955
- :ptgArea3dR => "ptgArea3dR",
956
- :ptgRefErr3dR => "ptgRefErr3dR",
957
- :ptgAreaErr3dR => "ptgAreaErr3dR",
958
- :ptgArrayV => "ptgArrayV",
959
- :ptgFuncV => "ptgFuncV",
960
- :ptgFuncVarV => "ptgFuncVarV",
961
- :ptgNameV => "ptgNameV",
962
- :ptgRefV => "ptgRefV",
963
- :ptgAreaV => "ptgAreaV",
964
- :ptgMemAreaV => "ptgMemAreaV",
965
- :ptgMemErrV => "ptgMemErrV",
966
- :ptgMemNoMemV => "ptgMemNoMemV",
967
- :ptgMemFuncV => "ptgMemFuncV",
968
- :ptgRefErrV => "ptgRefErrV",
969
- :ptgAreaErrV => "ptgAreaErrV",
970
- :ptgRefNV => "ptgRefNV",
971
- :ptgAreaNV => "ptgAreaNV",
972
- :ptgMemAreaNV => "ptgMemAreaNV",
973
- :ptgMemNoMemNV => "ptgMemNoMemNV",
974
- :ptgFuncCEV => "ptgFuncCEV",
975
- :ptgNameXV => "ptgNameXV",
976
- :ptgRef3dV => "ptgRef3dV",
977
- :ptgArea3dV => "ptgArea3dV",
978
- :ptgRefErr3dV => "ptgRefErr3dV",
979
- :ptgAreaErr3dV => "ptgAreaErr3dV",
980
- :ptgArrayA => "ptgArrayA",
981
- :ptgFuncA => "ptgFuncA",
982
- :ptgFuncVarA => "ptgFuncVarA",
983
- :ptgNameA => "ptgNameA",
984
- :ptgRefA => "ptgRefA",
985
- :ptgAreaA => "ptgAreaA",
986
- :ptgMemAreaA => "ptgMemAreaA",
987
- :ptgMemErrA => "ptgMemErrA",
988
- :ptgMemNoMemA => "ptgMemNoMemA",
989
- :ptgMemFuncA => "ptgMemFuncA",
990
- :ptgRefErrA => "ptgRefErrA",
991
- :ptgAreaErrA => "ptgAreaErrA",
992
- :ptgRefNA => "ptgRefNA",
993
- :ptgAreaNA => "ptgAreaNA",
994
- :ptgMemAreaNA => "ptgMemAreaNA",
995
- :ptgMemNoMemNA => "ptgMemNoMemNA",
996
- :ptgFuncCEA => "ptgFuncCEA",
997
- :ptgNameXA => "ptgNameXA",
998
- :ptgRef3dA => "ptgRef3dA",
999
- :ptgArea3dA => "ptgArea3dA",
1000
- :ptgRefErr3dA => "ptgRefErr3dA",
1001
- :ptgAreaErr3dA => "ptgAreaErr3dA"
1002
- }
1003
-
1004
-
1005
- ERROR_MSG_BY_CODE = {
1006
- 0x00 => "#NULL!", # intersection of two cell ranges is empty
1007
- 0x07 => "#DIV/0!", # division by zero
1008
- 0x0F => "#VALUE!", # wrong type of operand
1009
- 0x17 => "#REF!", # illegal or deleted cell reference
1010
- 0x1D => "#NAME?", # wrong function or range name
1011
- 0x24 => "#NUM!", # value range overflow
1012
- 0x2A => "#N/A!" # argument or function not available
1013
- }
1016
+ end