spreadsheet
typeScript/javascript spreadsheet parser, with formulas.
git clone https://git.vogt.world/spreadsheet.git
Log | Files | README.md
← Commit log
commit
message
[TODO.md] Adding formulas to write to TODO.md
author
Ben Vogt <[email protected]>
date
2017-05-23 02:38:51
stats
1 file(s) changed, 185 insertions(+), 0 deletions(-)
files
TODO.md
  1diff --git a/TODO.md b/TODO.md
  2index 025b7e5..c67775c 100644
  3--- a/TODO.md
  4+++ b/TODO.md
  5@@ -5,9 +5,189 @@
  6 Instead of having non-primitives, (i.e. Date, DateTime, Time, Dollar), cells should have formats based on the highest-order type that was used during the compilation and execution of a cell's dependency. For example, `DATE` might return a number, but the cell that called `DATE` would be aware of it calling a formula that returns an non-primitive type, and would display the returned number as a Date. If you're using `DATE` in conjunction with `DOLLAR` it would still display the returned value as a Date. The hierarchy would look like: [Date, DateTime, Time, Dollar, number, boolean, string]. Advantages to this would include not having to cast down when using primitive operators, and flexibility in display. It would also simplify the types themselves, by having types be constants and just having helpers to convert, display, and do normal operations with them.
  7 
  8 
  9-### Implement TO_DATE, TO_NUMBER, TO_DOLLARS, TO_TEXT
 10-Contingent upon cells having formats or types for primitives.
 11-
 12 
 13 ### CONVERT could offer more accurate conversions for units in the same system
 14 For example 64 tbs to a qt.
 15+
 16+
 17+### Formulas to write
 18+
 19+* ERROR.TYPE
 20+* ISBLANK
 21+* ISEMAIL
 22+* ISERR
 23+* ISERROR
 24+* ISFORMULA
 25+* ISLOGICAL
 26+* ISNA
 27+* ISNONTEXT
 28+* ISNUMBER
 29+* ISREF
 30+* ISTEXT
 31+* ISURL
 32+* N
 33+* NA
 34+* TYPE
 35+* CELL
 36+* IFERROR
 37+* ADDRESS
 38+* CHOOSE
 39+* COLUMN
 40+* COLUMNS
 41+* HLOOKUP
 42+* INDEX
 43+* INDIRECT
 44+* LOOKUP
 45+* MATCH
 46+* OFFSET
 47+* ROW
 48+* ROWS
 49+* VLOOKUP
 50+* COUNTBLANK
 51+* FACTDOUBLE
 52+* GAMMALN
 53+* GCD
 54+* LCM
 55+* MROUND
 56+* MULTINOMIAL
 57+* PRODUCT
 58+* QUOTIENT
 59+* RAND
 60+* RANDBETWEEN
 61+* SERIESSUM
 62+* SIGN
 63+* SUBTOTAL
 64+* DIVIDE
 65+* EQ
 66+* GT
 67+* GTE
 68+* LT
 69+* LTE
 70+* NE
 71+* UMINUS
 72+* UNARY_PERCENT
 73+* UPLUS
 74+* TO_DATE - Contingent upon cells having display formats derived from type-hierarchy
 75+* TO_DOLLARS - Contingent upon cells having display formats derived from type-hierarchy
 76+* TO_PERCENT - Contingent upon cells having display formats derived from type-hierarchy
 77+* TO_TEXT - Contingent upon cells having display formats derived from type-hierarchy
 78+* BINOMDIST
 79+* CONFIDENCE
 80+* COVAR
 81+* CRITBINOM
 82+* F.DIST.RT
 83+* FORECAST
 84+* GEOMEAN
 85+* HARMEAN
 86+* HYPGEOMDIST
 87+* INTERCEPT
 88+* KURT
 89+* LARGE
 90+* LOGINV
 91+* LOGNORMDIST
 92+* MODE
 93+* NEGBINOMDIST
 94+* NORMDIST
 95+* NORMINV
 96+* NORMSDIST
 97+* NORMSINV
 98+* PERCENTILE
 99+* PERCENTRANK
100+* PERCENTRANK.EXC
101+* PERCENTRANK.INC
102+* PERMUT
103+* POISSON
104+* PROB
105+* QUARTILE
106+* RANK
107+* RANK.AVG
108+* RANK.EQ
109+* RSQ
110+* SKEW
111+* SLOPE
112+* SMALL
113+* STANDARDIZE
114+* STDEV
115+* STDEVA
116+* STDEVP
117+* STDEVPA
118+* STEYX
119+* T.INV
120+* T.INV.2T
121+* TDIST
122+* TINV
123+* TRIMMEAN
124+* TTEST
125+* VAR
126+* VARA
127+* VARP
128+* VARPA
129+* WEIBULL
130+* ZTEST
131+* CLEAN
132+* FIND
133+* FINDB
134+* JOIN
135+* LEFT
136+* LEN
137+* LOWER
138+* MID
139+* PROPER
140+* REGEXEXTRACT - May be difficult considering language differences.
141+* REGEXMATCH - May be difficult considering language differences.
142+* REGEXREPLACE - May be difficult considering language differences.
143+* REPLACE
144+* REPT
145+* RIGHT
146+* ROMAN
147+* SEARCH
148+* SEARCHB
149+* SPLIT
150+* SUBSTITUTE
151+* T
152+* TEXT
153+* TRIM
154+* UPPER
155+* VALUE
156+* MINUS
157+* MULTIPLY
158+* FREQUENCY
159+* GROWTH
160+* LINEST
161+* LOGEST
162+* MDETERM
163+* MINVERSE
164+* MMULT
165+* TRANSPOSE - Depends on distinguishing between RowArray and ColumnArray.
166+* TREND
167+* FILTER
168+* SORT
169+* COUPDAYBS
170+* COUPDAYS
171+* COUPDAYSNC
172+* COUPNCD
173+* COUPNUM
174+* COUPPCD
175+* DISC
176+* DURATION
177+* FV - already written as a private function, needs to be re-written.
178+* FVSCHEDULE
179+* INTRATE
180+* IPMT
181+* IRR
182+* MIRR
183+* NOMINAL
184+* NPER
185+* NPV
186+* PPMT - Similar to PMT, which is already written.
187+* PRICE
188+* PRICEDISC
189+* PRICEMAT
190+* PV
191+* RATE
192+* RECEIVED
193+* SLN
194+* SYD
195+* YIELD
196+
197+