| 1 |
<?php |
| 2 |
|
| 3 |
namespace TablePress\PhpOffice\PhpSpreadsheet\Reader\Xls; |
| 4 |
|
| 5 |
class Mappings |
| 6 |
{ |
| 7 |
/** |
| 8 |
* Map tFunc values (functions with fixed number of arguments). |
| 9 |
* Key is tFunc value. |
| 10 |
* First element of array is Excel function name. |
| 11 |
* Second element of array is number of arguments. |
| 12 |
*/ |
| 13 |
const TFUNC_MAPPINGS = [ |
| 14 |
2 => ['ISNA', 1], |
| 15 |
3 => ['ISERROR', 1], |
| 16 |
10 => ['NA', 0], |
| 17 |
15 => ['SIN', 1], |
| 18 |
16 => ['COS', 1], |
| 19 |
17 => ['TAN', 1], |
| 20 |
18 => ['ATAN', 1], |
| 21 |
19 => ['PI', 0], |
| 22 |
20 => ['SQRT', 1], |
| 23 |
21 => ['EXP', 1], |
| 24 |
22 => ['LN', 1], |
| 25 |
23 => ['LOG10', 1], |
| 26 |
24 => ['ABS', 1], |
| 27 |
25 => ['INT', 1], |
| 28 |
26 => ['SIGN', 1], |
| 29 |
27 => ['ROUND', 2], |
| 30 |
30 => ['REPT', 2], |
| 31 |
31 => ['MID', 3], |
| 32 |
32 => ['LEN', 1], |
| 33 |
33 => ['VALUE', 1], |
| 34 |
34 => ['TRUE', 0], |
| 35 |
35 => ['FALSE', 0], |
| 36 |
38 => ['NOT', 1], |
| 37 |
39 => ['MOD', 2], |
| 38 |
40 => ['DCOUNT', 3], |
| 39 |
41 => ['DSUM', 3], |
| 40 |
42 => ['DAVERAGE', 3], |
| 41 |
43 => ['DMIN', 3], |
| 42 |
44 => ['DMAX', 3], |
| 43 |
45 => ['DSTDEV', 3], |
| 44 |
48 => ['TEXT', 2], |
| 45 |
61 => ['MIRR', 3], |
| 46 |
63 => ['RAND', 0], |
| 47 |
65 => ['DATE', 3], |
| 48 |
66 => ['TIME', 3], |
| 49 |
67 => ['DAY', 1], |
| 50 |
68 => ['MONTH', 1], |
| 51 |
69 => ['YEAR', 1], |
| 52 |
71 => ['HOUR', 1], |
| 53 |
72 => ['MINUTE', 1], |
| 54 |
73 => ['SECOND', 1], |
| 55 |
74 => ['NOW', 0], |
| 56 |
75 => ['AREAS', 1], |
| 57 |
76 => ['ROWS', 1], |
| 58 |
77 => ['COLUMNS', 1], |
| 59 |
83 => ['TRANSPOSE', 1], |
| 60 |
86 => ['TYPE', 1], |
| 61 |
97 => ['ATAN2', 2], |
| 62 |
98 => ['ASIN', 1], |
| 63 |
99 => ['ACOS', 1], |
| 64 |
105 => ['ISREF', 1], |
| 65 |
111 => ['CHAR', 1], |
| 66 |
112 => ['LOWER', 1], |
| 67 |
113 => ['UPPER', 1], |
| 68 |
114 => ['PROPER', 1], |
| 69 |
117 => ['EXACT', 2], |
| 70 |
118 => ['TRIM', 1], |
| 71 |
119 => ['REPLACE', 4], |
| 72 |
121 => ['CODE', 1], |
| 73 |
126 => ['ISERR', 1], |
| 74 |
127 => ['ISTEXT', 1], |
| 75 |
128 => ['ISNUMBER', 1], |
| 76 |
129 => ['ISBLANK', 1], |
| 77 |
130 => ['T', 1], |
| 78 |
131 => ['N', 1], |
| 79 |
140 => ['DATEVALUE', 1], |
| 80 |
141 => ['TIMEVALUE', 1], |
| 81 |
142 => ['SLN', 3], |
| 82 |
143 => ['SYD', 4], |
| 83 |
162 => ['CLEAN', 1], |
| 84 |
163 => ['MDETERM', 1], |
| 85 |
164 => ['MINVERSE', 1], |
| 86 |
165 => ['MMULT', 2], |
| 87 |
184 => ['FACT', 1], |
| 88 |
189 => ['DPRODUCT', 3], |
| 89 |
190 => ['ISNONTEXT', 1], |
| 90 |
195 => ['DSTDEVP', 3], |
| 91 |
196 => ['DVARP', 3], |
| 92 |
198 => ['ISLOGICAL', 1], |
| 93 |
199 => ['DCOUNTA', 3], |
| 94 |
207 => ['REPLACEB', 4], |
| 95 |
210 => ['MIDB', 3], |
| 96 |
211 => ['LENB', 1], |
| 97 |
212 => ['ROUNDUP', 2], |
| 98 |
213 => ['ROUNDDOWN', 2], |
| 99 |
214 => ['ASC', 1], |
| 100 |
215 => ['DBCS', 1], |
| 101 |
221 => ['TODAY', 0], |
| 102 |
229 => ['SINH', 1], |
| 103 |
230 => ['COSH', 1], |
| 104 |
231 => ['TANH', 1], |
| 105 |
232 => ['ASINH', 1], |
| 106 |
233 => ['ACOSH', 1], |
| 107 |
234 => ['ATANH', 1], |
| 108 |
235 => ['DGET', 3], |
| 109 |
244 => ['INFO', 1], |
| 110 |
252 => ['FREQUENCY', 2], |
| 111 |
261 => ['ERROR.TYPE', 1], |
| 112 |
271 => ['GAMMALN', 1], |
| 113 |
273 => ['BINOMDIST', 4], |
| 114 |
274 => ['CHIDIST', 2], |
| 115 |
275 => ['CHIINV', 2], |
| 116 |
276 => ['COMBIN', 2], |
| 117 |
277 => ['CONFIDENCE', 3], |
| 118 |
278 => ['CRITBINOM', 3], |
| 119 |
279 => ['EVEN', 1], |
| 120 |
280 => ['EXPONDIST', 3], |
| 121 |
281 => ['FDIST', 3], |
| 122 |
282 => ['FINV', 3], |
| 123 |
283 => ['FISHER', 1], |
| 124 |
284 => ['FISHERINV', 1], |
| 125 |
285 => ['FLOOR', 2], |
| 126 |
286 => ['GAMMADIST', 4], |
| 127 |
287 => ['GAMMAINV', 3], |
| 128 |
288 => ['CEILING', 2], |
| 129 |
289 => ['HYPGEOMDIST', 4], |
| 130 |
290 => ['LOGNORMDIST', 3], |
| 131 |
291 => ['LOGINV', 3], |
| 132 |
292 => ['NEGBINOMDIST', 3], |
| 133 |
293 => ['NORMDIST', 4], |
| 134 |
294 => ['NORMSDIST', 1], |
| 135 |
295 => ['NORMINV', 3], |
| 136 |
296 => ['NORMSINV', 1], |
| 137 |
297 => ['STANDARDIZE', 3], |
| 138 |
298 => ['ODD', 1], |
| 139 |
299 => ['PERMUT', 2], |
| 140 |
300 => ['POISSON', 3], |
| 141 |
301 => ['TDIST', 3], |
| 142 |
302 => ['WEIBULL', 4], |
| 143 |
303 => ['SUMXMY2', 2], |
| 144 |
304 => ['SUMX2MY2', 2], |
| 145 |
305 => ['SUMX2PY2', 2], |
| 146 |
306 => ['CHITEST', 2], |
| 147 |
307 => ['CORREL', 2], |
| 148 |
308 => ['COVAR', 2], |
| 149 |
309 => ['FORECAST', 3], |
| 150 |
310 => ['FTEST', 2], |
| 151 |
311 => ['INTERCEPT', 2], |
| 152 |
312 => ['PEARSON', 2], |
| 153 |
313 => ['RSQ', 2], |
| 154 |
314 => ['STEYX', 2], |
| 155 |
315 => ['SLOPE', 2], |
| 156 |
316 => ['TTEST', 4], |
| 157 |
325 => ['LARGE', 2], |
| 158 |
326 => ['SMALL', 2], |
| 159 |
327 => ['QUARTILE', 2], |
| 160 |
328 => ['PERCENTILE', 2], |
| 161 |
331 => ['TRIMMEAN', 2], |
| 162 |
332 => ['TINV', 2], |
| 163 |
337 => ['POWER', 2], |
| 164 |
342 => ['RADIANS', 1], |
| 165 |
343 => ['DEGREES', 1], |
| 166 |
346 => ['COUNTIF', 2], |
| 167 |
347 => ['COUNTBLANK', 1], |
| 168 |
350 => ['ISPMT', 4], |
| 169 |
351 => ['DATEDIF', 3], |
| 170 |
352 => ['DATESTRING', 1], |
| 171 |
353 => ['NUMBERSTRING', 2], |
| 172 |
360 => ['PHONETIC', 1], |
| 173 |
368 => ['BAHTTEXT', 1], |
| 174 |
]; |
| 175 |
|
| 176 |
/** |
| 177 |
* Map tFuncV values (functions with variable number of arguments). |
| 178 |
* Key is tFuncV value. |
| 179 |
* Value is Excel function name. |
| 180 |
*/ |
| 181 |
const TFUNCV_MAPPINGS = [ |
| 182 |
0 => 'COUNT', |
| 183 |
1 => 'IF', |
| 184 |
4 => 'SUM', |
| 185 |
5 => 'AVERAGE', |
| 186 |
6 => 'MIN', |
| 187 |
7 => 'MAX', |
| 188 |
8 => 'ROW', |
| 189 |
9 => 'COLUMN', |
| 190 |
11 => 'NPV', |
| 191 |
12 => 'STDEV', |
| 192 |
13 => 'DOLLAR', |
| 193 |
14 => 'FIXED', |
| 194 |
28 => 'LOOKUP', |
| 195 |
29 => 'INDEX', |
| 196 |
36 => 'AND', |
| 197 |
37 => 'OR', |
| 198 |
46 => 'VAR', |
| 199 |
49 => 'LINEST', |
| 200 |
50 => 'TREND', |
| 201 |
51 => 'LOGEST', |
| 202 |
52 => 'GROWTH', |
| 203 |
56 => 'PV', |
| 204 |
57 => 'FV', |
| 205 |
58 => 'NPER', |
| 206 |
59 => 'PMT', |
| 207 |
60 => 'RATE', |
| 208 |
62 => 'IRR', |
| 209 |
64 => 'MATCH', |
| 210 |
70 => 'WEEKDAY', |
| 211 |
78 => 'OFFSET', |
| 212 |
82 => 'SEARCH', |
| 213 |
100 => 'CHOOSE', |
| 214 |
101 => 'HLOOKUP', |
| 215 |
102 => 'VLOOKUP', |
| 216 |
109 => 'LOG', |
| 217 |
115 => 'LEFT', |
| 218 |
116 => 'RIGHT', |
| 219 |
120 => 'SUBSTITUTE', |
| 220 |
124 => 'FIND', |
| 221 |
125 => 'CELL', |
| 222 |
144 => 'DDB', |
| 223 |
148 => 'INDIRECT', |
| 224 |
167 => 'IPMT', |
| 225 |
168 => 'PPMT', |
| 226 |
169 => 'COUNTA', |
| 227 |
183 => 'PRODUCT', |
| 228 |
193 => 'STDEVP', |
| 229 |
194 => 'VARP', |
| 230 |
197 => 'TRUNC', |
| 231 |
204 => 'USDOLLAR', |
| 232 |
205 => 'FINDB', |
| 233 |
206 => 'SEARCHB', |
| 234 |
208 => 'LEFTB', |
| 235 |
209 => 'RIGHTB', |
| 236 |
216 => 'RANK', |
| 237 |
219 => 'ADDRESS', |
| 238 |
220 => 'DAYS360', |
| 239 |
222 => 'VDB', |
| 240 |
227 => 'MEDIAN', |
| 241 |
228 => 'SUMPRODUCT', |
| 242 |
247 => 'DB', |
| 243 |
255 => '', |
| 244 |
269 => 'AVEDEV', |
| 245 |
270 => 'BETADIST', |
| 246 |
272 => 'BETAINV', |
| 247 |
317 => 'PROB', |
| 248 |
318 => 'DEVSQ', |
| 249 |
319 => 'GEOMEAN', |
| 250 |
320 => 'HARMEAN', |
| 251 |
321 => 'SUMSQ', |
| 252 |
322 => 'KURT', |
| 253 |
323 => 'SKEW', |
| 254 |
324 => 'ZTEST', |
| 255 |
329 => 'PERCENTRANK', |
| 256 |
330 => 'MODE', |
| 257 |
336 => 'CONCATENATE', |
| 258 |
344 => 'SUBTOTAL', |
| 259 |
345 => 'SUMIF', |
| 260 |
354 => 'ROMAN', |
| 261 |
358 => 'GETPIVOTDATA', |
| 262 |
359 => 'HYPERLINK', |
| 263 |
361 => 'AVERAGEA', |
| 264 |
362 => 'MAXA', |
| 265 |
363 => 'MINA', |
| 266 |
364 => 'STDEVPA', |
| 267 |
365 => 'VARPA', |
| 268 |
366 => 'STDEVA', |
| 269 |
367 => 'VARA', |
| 270 |
]; |
| 271 |
} |
| 272 |
|