1.0.1 Release of js-spreadsheet
Dec 3, 2017
- Added 121 formulas: NA, CHOOSE, GCD, TRIM, LCM, GAMMALN, PERCENTILE, QUARTILE, PRODUCT, QUOTIENT, UPLUS, UMINUS, STDEV, STDEVA, STDEVP, STDEVPA, ISTEXT, ISLOGICAL, ISNUMBER, ISNONTEXT, MROUND, FACTDOUBLE, FREQUENCY, GROWTH, TRIMMEAN, SLOPE, LOWER, UPPER, STANDARDIZE, SMALL, LARGE, KURT, INTERCEPT, FORECAST, SYD, SLN, NPV, NPER, NOMINAL, MIRR, IRR, IPMT, FV, ISEMAIL, ISURL, POISSON, LINEST, PERCENTRANK, PERCENTRANK.INC, PERCENTRANK.EXC, NORMSINV, NORMSDIST, NORMDIST, NORMINV, NEGBINOMDIST, GEOMEAN, HARMEAN, CONFIDENCE, N, UNARY_PERCENT, MULTINOMIAL, BINOMDIST, COVAR, ISREF, ERRORTYPE, ERROR.TYPE, ISBLANK, ISERR, ISERROR, ISNA, TYPE, COLUMN, ROW, T, PPMT, WEIBULL, VARPA, VARP, VARA, VAR, PERMUT, RSQ, SKEW, STEYX, PROB, MODE, RANK, RANK.AVG, RANK.EQ, LOGNORMDIST, TDIST, TO_DATE, TO_PERCENT, TO_DOLLAR, TO_TEXT, ISFORMULA, IFERROR, ADDRESS, COLUMNS, ROWS, ROMAN, TEXT, FVSCHEDULE, PV, RATE, SUBTOTAL, HYPGEOMDIST, ZTEST, FIND, JOIN, LEN, LEFT, RIGHT, SEARCH, REPT, VALUE, CLEAN, MID, PROPER, REPLACE, and SUBSTITUTE.
- Most functions handle Cells gracefully, converting to primitives where necessary, and returning Cells where necessary.
- Numbers can now be entered in scientific-notation format.
- Pulled OpenOffice license into separate file for clarity.
- Documentation and cleanup of Parser.ts
For future releases, here's what I have planned:
eval function, which is neither precise, nor secure.
- The parser should be initialized to accept JS-style ranges (
), or spreadsheet-style ranges (
- Ranges and arrays should be allowed to follow commas. Currently a parser-error is thrown. For example
=SERIESSUM(, , , [4, 5, 6]) parses, but this
=SERIESSUM(1, 0, 1, [4, 5, 6]) does not.
- Add the following formulas: CELL, HLOOKUP, INDEX, INDIRECT, LOOKUP, MATCH, OFFSET, VLOOKUP, COUNTBLANK, REGEXEXTRACT, REGEXMATCH, REGEXREPLACE, CRITBINOM, F.DIST.RT, LOGINV, T.INV, T.INV.2T, TINV, TTEST, LOGEST, MDETERM, MINVERSE, MMULT, TRANSPOSE, TREND, FILTER, SORT, COUPDAYBS, COUPDAYS, COUPDAYSNC, COUPNCD, COUPNUM, COUPPCD, DISC, DURATION, INTRATE, PRICE, PRICEDISC, PRICEMAT, RECEIVED, and YIELD.
- Distinguish between a vertical and horizontal range.
- CONVERT should offer more accurate conversions for units in the same system. E.g. 64 tbs to 1 qt.
To contribute or use the package: