Commit 9a69edb4 authored by Michael Meeks's avatar Michael Meeks
Browse files

Large update

parent c0fa571d
......@@ -92,10 +92,6 @@ GNOME Spread Sheet task list
* Excel importing
Hash cache functions,
Sort out setting colours on cells,
Sort out mul-blank records.
Sensible Unicode support.
......@@ -103,11 +99,9 @@ GNOME Spread Sheet task list
Add collation of BIFF continuation records to the
previous record, to save many checks in the code.
Sort out formula conversion to use gnumerics representation
instead of strings.
* OLE
Serious testing required.
Integrate 'advance' into read_copy, and write, and rename to lseek
Snarf wine OLE API.
1999-03-10 Michael Meeks <michael@imaginator.com>
* ms-formula.c: Inserted all the statistics formulae from
5.0a into the translation table.
1999-03-09 Michael Meeks <michael@imaginator.com>
* ms-formula.c (ms_excel_parse_formula): Hacked out the
......
......@@ -1251,22 +1251,10 @@ ms_excel_read_cell (BIFF_QUERY * q, MS_EXCEL_SHEET * sheet)
row = EX_GETROW (q);
col = EX_GETCOL (q);
ptr = (q->data + 4);
lastcol = BIFF_GETWORD (q->data + q->length - 2); /*
* guess
*/
lastcol = BIFF_GETWORD (q->data + q->length - 2);
/* printf ("Cells in row %d are blank starting at col %d until col %d (0x%x)\n",
row, col, lastcol, lastcol); */
/*
* if (lastcol<col) What to do in this case ?
* {
* printf ("Serious implentation documentation error\n");
* break;
* }
*/
incr = (lastcol > col) ? 1 : -1;
/*
* g_assert (((lastcol-col)*incr+1)*2+6<=q->length);
*/
while (col != lastcol){
ms_excel_sheet_insert (sheet, BIFF_GETWORD (ptr), EX_GETCOL (q), EX_GETROW (q), 0);
col += incr;
......@@ -1493,8 +1481,11 @@ ms_excel_read_cell (BIFF_QUERY * q, MS_EXCEL_SHEET * sheet)
case BIFF_STRING: /* FIXME: S59DE9.HTM */
{
char *txt ;
printf ("This cell evaluated to '%s': so what ? data:\n", (txt = biff_get_text (q->data + 2, BIFF_GETWORD(q->data)))) ;
if (txt) g_free (txt) ;
if (EXCEL_DEBUG>0)
{
printf ("This cell evaluated to '%s': so what ? data:\n", (txt = biff_get_text (q->data + 2, BIFF_GETWORD(q->data)))) ;
if (txt) g_free (txt) ;
}
break ;
}
case BIFF_BOOLERR: /* S59D5F.HTM */
......
......@@ -1251,22 +1251,10 @@ ms_excel_read_cell (BIFF_QUERY * q, MS_EXCEL_SHEET * sheet)
row = EX_GETROW (q);
col = EX_GETCOL (q);
ptr = (q->data + 4);
lastcol = BIFF_GETWORD (q->data + q->length - 2); /*
* guess
*/
lastcol = BIFF_GETWORD (q->data + q->length - 2);
/* printf ("Cells in row %d are blank starting at col %d until col %d (0x%x)\n",
row, col, lastcol, lastcol); */
/*
* if (lastcol<col) What to do in this case ?
* {
* printf ("Serious implentation documentation error\n");
* break;
* }
*/
incr = (lastcol > col) ? 1 : -1;
/*
* g_assert (((lastcol-col)*incr+1)*2+6<=q->length);
*/
while (col != lastcol){
ms_excel_sheet_insert (sheet, BIFF_GETWORD (ptr), EX_GETCOL (q), EX_GETROW (q), 0);
col += incr;
......@@ -1493,8 +1481,11 @@ ms_excel_read_cell (BIFF_QUERY * q, MS_EXCEL_SHEET * sheet)
case BIFF_STRING: /* FIXME: S59DE9.HTM */
{
char *txt ;
printf ("This cell evaluated to '%s': so what ? data:\n", (txt = biff_get_text (q->data + 2, BIFF_GETWORD(q->data)))) ;
if (txt) g_free (txt) ;
if (EXCEL_DEBUG>0)
{
printf ("This cell evaluated to '%s': so what ? data:\n", (txt = biff_get_text (q->data + 2, BIFF_GETWORD(q->data)))) ;
if (txt) g_free (txt) ;
}
break ;
}
case BIFF_BOOLERR: /* S59D5F.HTM */
......
......@@ -56,15 +56,22 @@ FORMULA_OP_DATA formula_op_data[] = {
**/
FORMULA_FUNC_DATA formula_func_data[] =
{
{ 0x00, "COUNT (", 0, ")", 2, 0 },
{ 0x01, "0x1 (", 0, ")", 8, 0 },
{ 0x02, "ISNA (", 0, ")", 1, 0 },
{ 0x03, "ISERROR (", 0, ")", 1, 0 },
{ 0x04, "SUM (", 0, ")", -1, 0 },
{ 0x05, "AVERAGE (", 0, ")", -1, 0 },
{ 0x06, "MIN (", 0, ")", -1, 0 },
{ 0x07, "MAX (", 0, ")", -1, 0 },
{ 0x0f, "SIN (", 0, ")", 1, 0 },
{ 0x08, "0x8 (", 0, ")", 8, 0 },
{ 0x09, "0x9 (", 0, ")", 8, 0 },
{ 0x0a, "0xa (", 0, ")", 8, 0 },
{ 0x0b, "0xb (", 0, ")", 8, 0 },
{ 0x0c, "STDEV (", 0, ")", -1, 0 },
{ 0x0d, "DOLLAR (", 0, ")", 1, 0 },
{ 0x0e, "FIXED (", 0, ")", 1, 0 },
{ 0x0f, "SIN (", 0, ")", 1, 0 },
{ 0x10, "COS (", 0, ")", 1, 0 },
{ 0x11, "TAN (", 0, ")", 1, 0 },
{ 0x12, "ATAN (", 0, ")", 1, 0 },
......@@ -73,16 +80,43 @@ FORMULA_FUNC_DATA formula_func_data[] =
{ 0x16, "LN (", 0, ")", 1, 0 },
{ 0x17, "LOG10 (", 0, ")", 1, 0 },
{ 0x1a, "SIGN (", 0, ")", 1, 0 },
{ 0x1b, "0x1b (", 0, ")", 8, 0 },
{ 0x1c, "0x1c (", 0, ")", 8, 0 },
{ 0x1d, "0x1d (", 0, ")", 8, 0 },
{ 0x1e, "REPT (", 0, ")", 2, 0 },
{ 0x1f, "MID (", 0, ")", 3, 0 },
{ 0x20, "LEN (", 0, ")", 1, 0 },
{ 0x21, "VALUE (", 0, ")", 1, 0 },
{ 0x22, "0x22 (", 0, ")", 8, 0 },
{ 0x23, "0x23 (", 0, ")", 8, 0 },
{ 0x24, "AND (", 0, ")", -1, 0 },
{ 0x25, "OR (", 0, ")", -1, 0 },
{ 0x26, "NOT (", 0, ")", 1, 0 },
{ 0x27, "MOD (", 0, ")", 2, 0 },
{ 0x28, "0x28 (", 0, ")", 8, 0 },
{ 0x29, "0x29 (", 0, ")", 8, 0 },
{ 0x2a, "0x2a (", 0, ")", 8, 0 },
{ 0x2b, "0x2b (", 0, ")", 8, 0 },
{ 0x2c, "0x2c (", 0, ")", 8, 0 },
{ 0x2d, "0x2d (", 0, ")", 8, 0 },
{ 0x2e, "VAR (", 0, ")", -1, 0 },
{ 0x30, "REPLACE (", 0, ")", 2, 0 },
{ 0x31, "LINEST (", 0, ")", 2, 0 },
{ 0x32, "TREND (", 0, ")", 4, 0 },
{ 0x33, "LOGEST (", 0, ")", 1, 0 },
{ 0x34, "GROWTH (", 0, ")", -1, 0 },
{ 0x35, "0x35 (", 0, ")", 8, 0 },
{ 0x36, "0x36 (", 0, ")", 8, 0 },
{ 0x37, "0x37 (", 0, ")", 8, 0 },
{ 0x38, "0x38 (", 0, ")", 8, 0 },
{ 0x39, "0x39 (", 0, ")", 8, 0 },
{ 0x3a, "0x3a (", 0, ")", 8, 0 },
{ 0x3b, "0x3b (", 0, ")", 8, 0 },
{ 0x3c, "0x3c (", 0, ")", 8, 0 },
{ 0x3d, "0x3d (", 0, ")", 8, 0 },
{ 0x3e, "0x3e (", 0, ")", 8, 0 },
{ 0x3f, "RAND (", 0, ")", 0, 0 },
{ 0x40, "0x40 (", 0, ")", 8, 0 },
{ 0x41, "DATE (", 0, ")", 3, 0 },
{ 0x42, "TIME (", 0, ")", 3, 0 },
{ 0x43, "DAY (", 0, ")", 1, 0 },
......@@ -93,15 +127,43 @@ FORMULA_FUNC_DATA formula_func_data[] =
{ 0x48, "MINUTE (", 0, ")", 1, 0 },
{ 0x49, "SECOND (", 0, ")", 1, 0 },
{ 0x4a, "NOW (", 0, ")", 0, 0 },
{ 0x4b, "0x4b (", 0, ")", 8, 0 },
{ 0x4c, "0x4c (", 0, ")", 8, 0 },
{ 0x4d, "0x4d (", 0, ")", 8, 0 },
{ 0x4e, "0x4e (", 0, ")", 8, 0 },
{ 0x4f, "0x4f (", 0, ")", 8, 0 },
{ 0x50, "0x50 (", 0, ")", 8, 0 },
{ 0x51, "0x51 (", 0, ")", 8, 0 },
{ 0x52, "SEARCH (", 0, ")", 3, 0 },
{ 0x53, "0x53 (", 0, ")", 8, 0 },
{ 0x54, "0x54 (", 0, ")", 8, 0 },
{ 0x55, "0x55 (", 0, ")", 8, 0 },
{ 0x56, "TYPE (", 0, ")", 1, 0 },
{ 0x57, "0x57 (", 0, ")", 8, 0 },
{ 0x58, "0x58 (", 0, ")", 8, 0 },
{ 0x59, "0x59 (", 0, ")", 8, 0 },
{ 0x5a, "0x5a (", 0, ")", 8, 0 },
{ 0x5b, "0x5b (", 0, ")", 8, 0 },
{ 0x5c, "0x5c (", 0, ")", 8, 0 },
{ 0x5d, "0x5d (", 0, ")", 8, 0 },
{ 0x5e, "0x5e (", 0, ")", 8, 0 },
{ 0x5f, "0x5f (", 0, ")", 8, 0 },
{ 0x60, "0x60 (", 0, ")", 8, 0 },
{ 0x61, "ATAN2 (", 0, ")", 2, 0 },
{ 0x62, "ASIN (", 0, ")", 1, 0 },
{ 0x63, "ACOS (", 0, ")", 1, 0 },
{ 0x64, "0x64 (", 0, ")", 8, 0 },
{ 0x65, "0x65 (", 0, ")", 8, 0 },
{ 0x65, "HLOOKUP (", 0, ")", -1, 0 },
{ 0x66, "VLOOKUP (", 0, ")", -1, 0 },
{ 0x67, "0x67 (", 0, ")", 8, 0 },
{ 0x68, "0x68 (", 0, ")", 8, 0 },
{ 0x69, "ISREF (", 0, ")", 1, 0 },
{ 0x6a, "0x6a (", 0, ")", 8, 0 },
{ 0x6b, "0x6b (", 0, ")", 8, 0 },
{ 0x6c, "0x6c (", 0, ")", 8, 0 },
{ 0x6d, "LOG (", 0, ")", 1, 0 },
{ 0x6e, "0x6e (", 0, ")", 8, 0 },
{ 0x6f, "CHAR (", 0, ")", 1, 0 },
{ 0x70, "LOWER (", 0, ")", 1, 0 },
{ 0x71, "UPPER (", 0, ")", 1, 0 },
......@@ -113,6 +175,8 @@ FORMULA_FUNC_DATA formula_func_data[] =
{ 0x77, "0x77 (", 0, ")", 2, 0 },
{ 0x78, "SUBSTITUTE (", 0, ")", -1, 0 },
{ 0x79, "CODE (", 0, ")", 1, 0 },
{ 0x7a, "0x7a (", 0, ")", 8, 0 },
{ 0x7b, "0x7b (", 0, ")", 8, 0 },
{ 0x7c, "FIND (", 0, ")", -1, 0 },
{ 0x7d, "CELL (", 0, ")", 2, 0 },
{ 0x7e, "ISERR (", 0, ")", 1, 0 },
......@@ -121,13 +185,28 @@ FORMULA_FUNC_DATA formula_func_data[] =
{ 0x81, "ISBLANK (", 0, ")", 1, 0 },
{ 0x82, "T (", 0, ")", 1, 0 },
{ 0x83, "N (", 0, ")", 1, 0 },
{ 0x84, "0x84 (", 0, ")", 8, 0 },
{ 0x85, "0x85 (", 0, ")", 8, 0 },
{ 0x86, "0x86 (", 0, ")", 8, 0 },
{ 0x87, "0x87 (", 0, ")", 8, 0 },
{ 0x88, "0x88 (", 0, ")", 8, 0 },
{ 0x89, "0x89 (", 0, ")", 8, 0 },
{ 0x8a, "0x8a (", 0, ")", 8, 0 },
{ 0x8b, "0x8b (", 0, ")", 8, 0 },
{ 0x8c, "DATEVALUE (", 0, ")", 1, 0 },
/* { 0xa2, "CLEAN (", 0, ")", 1, 0 }, */
{ 0x8d, "0x8d (", 0, ")", 8, 0 },
{ 0x8e, "0x8e (", 0, ")", 8, 0 },
{ 0x8f, "0x8f (", 0, ")", 8, 0 },
{ 0xa2, "CLEAN (", 0, ")", 1, 0 },
{ 0xa9, "COUNTA (", 0, ")", -1, 0 },
{ 0xbe, "ISNONTEXT (", 0, ")", 1, 0 },
{ 0xc1, "STDEVP (", 0, ")", -1, 0 },
{ 0xc2, "VARP (", 0, ")", -1, 0 },
{ 0xc5, "TRUNC (", 0, ")", 1, 0 },
{ 0xc6, "ISLOGICAL (", 0, ")", 1, 0 },
{ 0xbe, "ISNONTEXT (", 0, ")", 1, 0 },
{ 0xdc, "DAYS360 (", 0, ")", 2, 0 },
{ 0xdd, "TODAY (", 0, ")", 0, 0 },
{ 0xe3, "MEDIAN (", 0, ")", -1, 0 },
{ 0xe5, "SINH (", 0, ")", 1, 0 },
{ 0xe6, "COSH (", 0, ")", 1, 0 },
{ 0xe7, "TANH (", 0, ")", 1, 0 },
......@@ -135,8 +214,68 @@ FORMULA_FUNC_DATA formula_func_data[] =
{ 0xe9, "ACOSH (", 0, ")", 1, 0 },
{ 0xea, "ATANH (", 0, ")", 1, 0 },
{ 0xf4, "INFO (", 0, ")", 1, 0 },
{ 0xfc, "FREQUENCY (", 0, ")", 2, 0 },
{ 0x105, "ERROR.TYPE (", 0, ")", 1, 0 },
{ 0x10d, "AVEDEV (", 0, ")", -1, 0 },
{ 0x10e, "BETADIST (", 0, ")", 3, 0 },
{ 0x10f, "GAMMALN (", 0, ")", 1, 0 },
{ 0x110, "BETAINV (", 0, ")", 3, 0 },
{ 0x111, "BINOMDIST (", 0, ")", 4, 0 },
{ 0x112, "CHIDIST (", 0, ")", 2, 0 },
{ 0x113, "CHIINV (", 0, ")", 2, 0 },
{ 0x114, "0x114 (", 0, ")", 3, 0 },
{ 0x115, "CONFIDENCE (", 0, ")", 3, 0 },
{ 0x116, "CRITBINOM (", 0, ")", 3, 0 },
{ 0x117, "0x117 (", 0, ")", 8, 0 },
{ 0x118, "EXPONDIST (", 0, ")", 3, 0 },
{ 0x119, "FDIST (", 0, ")", 3, 0 },
{ 0x11a, "FINV (", 0, ")", 3, 0 },
{ 0x11b, "FISHER (", 0, ")", 1, 0 },
{ 0x11c, "FISHERINV (", 0, ")", 1, 0 },
{ 0x11e, "GAMMADIST (", 0, ")", 4, 0 },
{ 0x11f, "GAMMAINV (", 0, ")", 3, 0 },
{ 0x120, "CEILING (", 0, ")", 2, 0 },
{ 0x121, "HYPGEOMDIST (", 0, ")", 4, 0 },
{ 0x122, "LOGNOMRDIST (", 0, ")", 3, 0 },
{ 0x123, "LOGINV (", 0, ")", 3, 0 },
{ 0x124, "NEGBINOMDIST (", 0, ")", 3, 0 },
{ 0x125, "NORMDIST (", 0, ")", 4, 0 },
{ 0x126, "NOMRSDIST (", 0, ")", 1, 0 },
{ 0x127, "NORMINV (", 0, ")", 3, 0 },
{ 0x128, "NORMSINV (", 0, ")", 1, 0 },
{ 0x129, "STANDARDIZE (", 0, ")", 3, 0 },
{ 0x12a, "0x12a (", 0, ")", 8, 0 },
{ 0x12b, "PERMUT (", 0, ")", 2, 0 },
{ 0x12c, "POISSON (", 0, ")", 3, 0 },
{ 0x12d, "TDIST (", 0, ")", 3, 0 },
{ 0x12e, "WEIBULL (", 0, ")", 4, 0 },
{ 0x12f, "ZTEST (", 0, ")", 3, 0 },
{ 0x132, "CHITEST (", 0, ")", 2, 0 },
{ 0x133, "CORREL (", 0, ")", 2, 0 },
{ 0x134, "COVAR (", 0, ")", 2, 0 },
{ 0x135, "FORECAST (", 0, ")", 3, 0 },
{ 0x136, "FTEST (", 0, ")", 2, 0 },
{ 0x137, "INTERCEPT (", 0, ")", 2, 0 },
{ 0x138, "PEARSON (", 0, ")", 2, 0 },
{ 0x139, "RSQ (", 0, ")", 2, 0 },
{ 0x13a, "STEYX (", 0, ")", 2, 0 },
{ 0x13b, "SLOPE (", 0, ")", 2, 0 },
{ 0x13c, "TTEST (", 0, ")", 4, 0 },
{ 0x13d, "PROB (", 0, ")", 3, 0 },
{ 0x13e, "DEVSQ (", 0, ")", -1, 0 },
{ 0x13f, "GEOMEAN (", 0, ")", -1, 0 },
{ 0x140, "HARMEAN (", 0, ")", -1, 0 },
{ 0x142, "KURT (", 0, ")", -1, 0 },
{ 0x143, "SKEW (", 0, ")", -1, 0 },
{ 0x144, "ZTEST (", 0, ")", 3, 0 },
{ 0x145, "LARGE (", 0, ")", 2, 0 },
{ 0x146, "SMALL (", 0, ")", 2, 0 },
{ 0x147, "QUARTILE (", 0, ")", 2, 0 },
{ 0x148, "PERCENTILE (", 0, ")", 2, 0 },
{ 0x149, "PERCENTRANK (", 0, ")", 2, 0 },
{ 0x14a, "MODE (", 0, ")", -1, 0 },
{ 0x14b, "TRIMMEAN (", 0, ")", 2, 0 },
{ 0x14c, "TINV (", 0, ")", 2, 0 },
{ 0x150, "CONCATENATE (", 0, ")", 2, 0 },
{ 0x156, "RADIANS (", 0, ")", 1, 0 },
{ 0x15b, "COUNTBLANK (", 0, ")", 1, 0 }
......
......@@ -56,15 +56,22 @@ FORMULA_OP_DATA formula_op_data[] = {
**/
FORMULA_FUNC_DATA formula_func_data[] =
{
{ 0x00, "COUNT (", 0, ")", 2, 0 },
{ 0x01, "0x1 (", 0, ")", 8, 0 },
{ 0x02, "ISNA (", 0, ")", 1, 0 },
{ 0x03, "ISERROR (", 0, ")", 1, 0 },
{ 0x04, "SUM (", 0, ")", -1, 0 },
{ 0x05, "AVERAGE (", 0, ")", -1, 0 },
{ 0x06, "MIN (", 0, ")", -1, 0 },
{ 0x07, "MAX (", 0, ")", -1, 0 },
{ 0x0f, "SIN (", 0, ")", 1, 0 },
{ 0x08, "0x8 (", 0, ")", 8, 0 },
{ 0x09, "0x9 (", 0, ")", 8, 0 },
{ 0x0a, "0xa (", 0, ")", 8, 0 },
{ 0x0b, "0xb (", 0, ")", 8, 0 },
{ 0x0c, "STDEV (", 0, ")", -1, 0 },
{ 0x0d, "DOLLAR (", 0, ")", 1, 0 },
{ 0x0e, "FIXED (", 0, ")", 1, 0 },
{ 0x0f, "SIN (", 0, ")", 1, 0 },
{ 0x10, "COS (", 0, ")", 1, 0 },
{ 0x11, "TAN (", 0, ")", 1, 0 },
{ 0x12, "ATAN (", 0, ")", 1, 0 },
......@@ -73,16 +80,43 @@ FORMULA_FUNC_DATA formula_func_data[] =
{ 0x16, "LN (", 0, ")", 1, 0 },
{ 0x17, "LOG10 (", 0, ")", 1, 0 },
{ 0x1a, "SIGN (", 0, ")", 1, 0 },
{ 0x1b, "0x1b (", 0, ")", 8, 0 },
{ 0x1c, "0x1c (", 0, ")", 8, 0 },
{ 0x1d, "0x1d (", 0, ")", 8, 0 },
{ 0x1e, "REPT (", 0, ")", 2, 0 },
{ 0x1f, "MID (", 0, ")", 3, 0 },
{ 0x20, "LEN (", 0, ")", 1, 0 },
{ 0x21, "VALUE (", 0, ")", 1, 0 },
{ 0x22, "0x22 (", 0, ")", 8, 0 },
{ 0x23, "0x23 (", 0, ")", 8, 0 },
{ 0x24, "AND (", 0, ")", -1, 0 },
{ 0x25, "OR (", 0, ")", -1, 0 },
{ 0x26, "NOT (", 0, ")", 1, 0 },
{ 0x27, "MOD (", 0, ")", 2, 0 },
{ 0x28, "0x28 (", 0, ")", 8, 0 },
{ 0x29, "0x29 (", 0, ")", 8, 0 },
{ 0x2a, "0x2a (", 0, ")", 8, 0 },
{ 0x2b, "0x2b (", 0, ")", 8, 0 },
{ 0x2c, "0x2c (", 0, ")", 8, 0 },
{ 0x2d, "0x2d (", 0, ")", 8, 0 },
{ 0x2e, "VAR (", 0, ")", -1, 0 },
{ 0x30, "REPLACE (", 0, ")", 2, 0 },
{ 0x31, "LINEST (", 0, ")", 2, 0 },
{ 0x32, "TREND (", 0, ")", 4, 0 },
{ 0x33, "LOGEST (", 0, ")", 1, 0 },
{ 0x34, "GROWTH (", 0, ")", -1, 0 },
{ 0x35, "0x35 (", 0, ")", 8, 0 },
{ 0x36, "0x36 (", 0, ")", 8, 0 },
{ 0x37, "0x37 (", 0, ")", 8, 0 },
{ 0x38, "0x38 (", 0, ")", 8, 0 },
{ 0x39, "0x39 (", 0, ")", 8, 0 },
{ 0x3a, "0x3a (", 0, ")", 8, 0 },
{ 0x3b, "0x3b (", 0, ")", 8, 0 },
{ 0x3c, "0x3c (", 0, ")", 8, 0 },
{ 0x3d, "0x3d (", 0, ")", 8, 0 },
{ 0x3e, "0x3e (", 0, ")", 8, 0 },
{ 0x3f, "RAND (", 0, ")", 0, 0 },
{ 0x40, "0x40 (", 0, ")", 8, 0 },
{ 0x41, "DATE (", 0, ")", 3, 0 },
{ 0x42, "TIME (", 0, ")", 3, 0 },
{ 0x43, "DAY (", 0, ")", 1, 0 },
......@@ -93,15 +127,43 @@ FORMULA_FUNC_DATA formula_func_data[] =
{ 0x48, "MINUTE (", 0, ")", 1, 0 },
{ 0x49, "SECOND (", 0, ")", 1, 0 },
{ 0x4a, "NOW (", 0, ")", 0, 0 },
{ 0x4b, "0x4b (", 0, ")", 8, 0 },
{ 0x4c, "0x4c (", 0, ")", 8, 0 },
{ 0x4d, "0x4d (", 0, ")", 8, 0 },
{ 0x4e, "0x4e (", 0, ")", 8, 0 },
{ 0x4f, "0x4f (", 0, ")", 8, 0 },
{ 0x50, "0x50 (", 0, ")", 8, 0 },
{ 0x51, "0x51 (", 0, ")", 8, 0 },
{ 0x52, "SEARCH (", 0, ")", 3, 0 },
{ 0x53, "0x53 (", 0, ")", 8, 0 },
{ 0x54, "0x54 (", 0, ")", 8, 0 },
{ 0x55, "0x55 (", 0, ")", 8, 0 },
{ 0x56, "TYPE (", 0, ")", 1, 0 },
{ 0x57, "0x57 (", 0, ")", 8, 0 },
{ 0x58, "0x58 (", 0, ")", 8, 0 },
{ 0x59, "0x59 (", 0, ")", 8, 0 },
{ 0x5a, "0x5a (", 0, ")", 8, 0 },
{ 0x5b, "0x5b (", 0, ")", 8, 0 },
{ 0x5c, "0x5c (", 0, ")", 8, 0 },
{ 0x5d, "0x5d (", 0, ")", 8, 0 },
{ 0x5e, "0x5e (", 0, ")", 8, 0 },
{ 0x5f, "0x5f (", 0, ")", 8, 0 },
{ 0x60, "0x60 (", 0, ")", 8, 0 },
{ 0x61, "ATAN2 (", 0, ")", 2, 0 },
{ 0x62, "ASIN (", 0, ")", 1, 0 },
{ 0x63, "ACOS (", 0, ")", 1, 0 },
{ 0x64, "0x64 (", 0, ")", 8, 0 },
{ 0x65, "0x65 (", 0, ")", 8, 0 },
{ 0x65, "HLOOKUP (", 0, ")", -1, 0 },
{ 0x66, "VLOOKUP (", 0, ")", -1, 0 },
{ 0x67, "0x67 (", 0, ")", 8, 0 },
{ 0x68, "0x68 (", 0, ")", 8, 0 },
{ 0x69, "ISREF (", 0, ")", 1, 0 },
{ 0x6a, "0x6a (", 0, ")", 8, 0 },
{ 0x6b, "0x6b (", 0, ")", 8, 0 },
{ 0x6c, "0x6c (", 0, ")", 8, 0 },
{ 0x6d, "LOG (", 0, ")", 1, 0 },
{ 0x6e, "0x6e (", 0, ")", 8, 0 },
{ 0x6f, "CHAR (", 0, ")", 1, 0 },
{ 0x70, "LOWER (", 0, ")", 1, 0 },
{ 0x71, "UPPER (", 0, ")", 1, 0 },
......@@ -113,6 +175,8 @@ FORMULA_FUNC_DATA formula_func_data[] =
{ 0x77, "0x77 (", 0, ")", 2, 0 },
{ 0x78, "SUBSTITUTE (", 0, ")", -1, 0 },
{ 0x79, "CODE (", 0, ")", 1, 0 },
{ 0x7a, "0x7a (", 0, ")", 8, 0 },
{ 0x7b, "0x7b (", 0, ")", 8, 0 },
{ 0x7c, "FIND (", 0, ")", -1, 0 },
{ 0x7d, "CELL (", 0, ")", 2, 0 },
{ 0x7e, "ISERR (", 0, ")", 1, 0 },
......@@ -121,13 +185,28 @@ FORMULA_FUNC_DATA formula_func_data[] =
{ 0x81, "ISBLANK (", 0, ")", 1, 0 },
{ 0x82, "T (", 0, ")", 1, 0 },
{ 0x83, "N (", 0, ")", 1, 0 },
{ 0x84, "0x84 (", 0, ")", 8, 0 },
{ 0x85, "0x85 (", 0, ")", 8, 0 },
{ 0x86, "0x86 (", 0, ")", 8, 0 },
{ 0x87, "0x87 (", 0, ")", 8, 0 },
{ 0x88, "0x88 (", 0, ")", 8, 0 },
{ 0x89, "0x89 (", 0, ")", 8, 0 },
{ 0x8a, "0x8a (", 0, ")", 8, 0 },
{ 0x8b, "0x8b (", 0, ")", 8, 0 },
{ 0x8c, "DATEVALUE (", 0, ")", 1, 0 },
/* { 0xa2, "CLEAN (", 0, ")", 1, 0 }, */
{ 0x8d, "0x8d (", 0, ")", 8, 0 },
{ 0x8e, "0x8e (", 0, ")", 8, 0 },
{ 0x8f, "0x8f (", 0, ")", 8, 0 },
{ 0xa2, "CLEAN (", 0, ")", 1, 0 },
{ 0xa9, "COUNTA (", 0, ")", -1, 0 },
{ 0xbe, "ISNONTEXT (", 0, ")", 1, 0 },
{ 0xc1, "STDEVP (", 0, ")", -1, 0 },
{ 0xc2, "VARP (", 0, ")", -1, 0 },
{ 0xc5, "TRUNC (", 0, ")", 1, 0 },
{ 0xc6, "ISLOGICAL (", 0, ")", 1, 0 },
{ 0xbe, "ISNONTEXT (", 0, ")", 1, 0 },
{ 0xdc, "DAYS360 (", 0, ")", 2, 0 },
{ 0xdd, "TODAY (", 0, ")", 0, 0 },
{ 0xe3, "MEDIAN (", 0, ")", -1, 0 },
{ 0xe5, "SINH (", 0, ")", 1, 0 },
{ 0xe6, "COSH (", 0, ")", 1, 0 },
{ 0xe7, "TANH (", 0, ")", 1, 0 },
......@@ -135,8 +214,68 @@ FORMULA_FUNC_DATA formula_func_data[] =
{ 0xe9, "ACOSH (", 0, ")", 1, 0 },
{ 0xea, "ATANH (", 0, ")", 1, 0 },
{ 0xf4, "INFO (", 0, ")", 1, 0 },
{ 0xfc, "FREQUENCY (", 0, ")", 2, 0 },
{ 0x105, "ERROR.TYPE (", 0, ")", 1, 0 },
{ 0x10d, "AVEDEV (", 0, ")", -1, 0 },
{ 0x10e, "BETADIST (", 0, ")", 3, 0 },
{ 0x10f, "GAMMALN (", 0, ")", 1, 0 },
{ 0x110, "BETAINV (", 0, ")", 3, 0 },
{ 0x111, "BINOMDIST (", 0, ")", 4, 0 },
{ 0x112, "CHIDIST (", 0, ")", 2, 0 },
{ 0x113, "CHIINV (", 0, ")", 2, 0 },
{ 0x114, "0x114 (", 0, ")", 3, 0 },
{ 0x115, "CONFIDENCE (", 0, ")", 3, 0 },
{ 0x116, "CRITBINOM (", 0, ")", 3, 0 },
{ 0x117, "0x117 (", 0, ")", 8, 0 },
{ 0x118, "EXPONDIST (", 0, ")", 3, 0 },
{ 0x119, "FDIST (", 0, ")", 3, 0 },
{ 0x11a, "FINV (", 0, ")", 3, 0 },
{ 0x11b, "FISHER (", 0, ")", 1, 0 },
{ 0x11c, "FISHERINV (", 0, ")", 1, 0 },
{ 0x11e, "GAMMADIST (", 0, ")", 4, 0 },
{ 0x11f, "GAMMAINV (", 0, ")", 3, 0 },
{ 0x120, "CEILING (", 0, ")", 2, 0 },
{ 0x121, "HYPGEOMDIST (", 0, ")", 4, 0 },
{ 0x122, "LOGNOMRDIST (", 0, ")", 3, 0 },
{ 0x123, "LOGINV (", 0, ")", 3, 0 },
{ 0x124, "NEGBINOMDIST (", 0, ")", 3, 0 },
{ 0x125, "NORMDIST (", 0, ")", 4, 0 },
{ 0x126, "NOMRSDIST (", 0, ")", 1, 0 },
{ 0x127, "NORMINV (", 0, ")", 3, 0 },
{ 0x128, "NORMSINV (", 0, ")", 1, 0 },
{ 0x129, "STANDARDIZE (", 0, ")", 3, 0 },
{ 0x12a, "0x12a (", 0, ")", 8, 0 },
{ 0x12b, "PERMUT (", 0, ")", 2, 0 },
{ 0x12c, "POISSON (", 0, ")", 3, 0 },
{ 0x12d, "TDIST (", 0, ")", 3, 0 },
{ 0x12e, "WEIBULL (", 0, ")", 4, 0 },
{ 0x12f, "ZTEST (", 0, ")", 3, 0 },
{ 0x132, "CHITEST (", 0, ")", 2, 0 },
{ 0x133, "CORREL (", 0, ")", 2, 0 },
{ 0x134, "COVAR (", 0, ")", 2, 0 },
{ 0x135, "FORECAST (", 0, ")", 3, 0 },
{ 0x136, "FTEST (", 0, ")", 2, 0 },
{ 0x137, "INTERCEPT (", 0, ")", 2, 0 },
{ 0x138, "PEARSON (", 0, ")", 2, 0 },
{ 0x139, "RSQ (", 0, ")", 2, 0 },
{ 0x13a, "STEYX (", 0, ")", 2, 0 },
{ 0x13b, "SLOPE (", 0, ")", 2, 0 },
{ 0x13c, "TTEST (", 0, ")", 4, 0 },
{ 0x13d, "PROB (", 0, ")", 3, 0 },
{ 0x13e, "DEVSQ (", 0, ")", -1, 0 },
{ 0x13f, "GEOMEAN (", 0, ")", -1, 0 },
{ 0x140, "HARMEAN (", 0, ")", -1, 0 },
{ 0x142, "KURT (", 0, ")", -1, 0 },
{ 0x143, "SKEW (", 0, ")", -1, 0 },
{ 0x144, "ZTEST (", 0, ")", 3, 0 },
{ 0x145, "LARGE (", 0, ")", 2, 0 },
{ 0x146, "SMALL (", 0, ")", 2, 0 },
{ 0x147, "QUARTILE (", 0, ")", 2, 0 },
{ 0x148, "PERCENTILE (", 0, ")", 2, 0 },
{ 0x149, "PERCENTRANK (", 0, ")", 2, 0 },
{ 0x14a, "MODE (", 0, ")", -1, 0 },
{ 0x14b, "TRIMMEAN (", 0, ")", 2, 0 },
{ 0x14c, "TINV (", 0, ")", 2, 0 },
{ 0x150, "CONCATENATE (", 0, ")", 2, 0 },
{ 0x156, "RADIANS (", 0, ")", 1, 0 },
{ 0x15b, "COUNTBLANK (", 0, ")", 1, 0 }
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment