name:
DOCS.md
-rw-r--r--
88592
1# Documentation
2
3## Convert
4
5
6### TO_DATE
7
8```
9 Converts a number to a Date.
10@param value - Value to convert. If the input is a number, will convert to a date. If value is non-numeric, will return value unchanged.
11@returns {any}
12@constructor
13```
14
15### TO_DOLLARS
16
17```
18 Converts a number to a Dollar value.
19@param value - Value to convert. If the input is a number, will return as a dollar value. If value is non-numeric, will return value unchanged.
20@returns {any}
21@constructor
22```
23
24### TO_PERCENT
25
26```
27 Converts a number to a percent value where 1 = 100 percent.
28@param value - Value to convert. If the input is a number, will return as a percent value. If value is non-numeric, will return value unchanged.
29@returns {any}
30@constructor
31```
32
33### TO_TEXT
34
35```
36 Converts a number to a text value
37@param value - Value to convert. If the input is a text, will return as a text value.
38@returns {any}
39@constructor
40```
41## Date
42
43
44### DATE
45
46```
47 Converts a provided year, month, and day into a date.
48@param year - The year component of the date.
49@param month - The month component of the date.
50@param day - The day component of the date.
51@returns {number} newly created date.
52@constructor
53```
54
55### DATEVALUE
56
57```
58 Converts a provided date string in a known format to a date value.
59@param dateString - The string representing the date. Understood formats include any date format which is normally auto-converted when entered, without quotation marks, directly into a cell. Understood formats may depend on region and language settings.
60@returns {number} of days since 1900/1/1, inclusively.
61@constructor
62```
63
64### EDATE
65
66```
67 Returns a date a specified number of months before or after another date.
68@param startDate - The date from which to calculate the result.
69@param months - The number of months before (negative) or after (positive) start_date to calculate.
70@returns {number} date a specified number of months before or after another date
71@constructor
72```
73
74### EOMONTH
75
76```
77 Returns a date representing the last day of a month which falls a specified number of months before or after another date.
78@param startDate - The date from which to calculate the the result.
79@param months - The number of months before (negative) or after (positive) start_date to consider. The last calendar day of the calculated month is returned.
80@returns {number} the last day of a month
81@constructor
82```
83
84### DAY
85
86```
87 Returns the day of the month that a specific date falls on, in numeric format.
88@param date - The date from which to extract the day. Must be a reference to a cell containing a date, a function returning a date type, or a number.
89@returns {number} day of the month
90@constructor
91```
92
93### DAYS
94
95```
96 Returns the number of days between two dates.
97@param endDate most recently occurring
98@param startDate not most recently occurring
99@returns {number} of days between start_date and end_date
100@constructor
101```
102
103### DAYS360
104
105```
106 Returns the difference between two days based on the 360 day year used in some financial interest calculations.
107@param startDate - The start date to consider in the calculation. Must be a reference to a cell containing a date, a function returning a date type, or a number.
108@param endDate - The end date to consider in the calculation. Must be a reference to a cell containing a date, a function returning a date type, or a number.
109@param methodToUse - [ OPTIONAL - 0 by default ] - An indicator of what day count method to use. 0 indicates the US method - Under the US method, if start_date is the last day of a month, the day of month of tart_date is changed to 30 for the purposes of the calculation. Furthermore if end_date is the last day of a month and the day of the month of start_date is earlier than the 30th, end_date is changed to the first day of the month following end_date, otherwise the day of month of end_date is changed to 30. Any other value indicates the European method - Under the European method, any start_date or end_date that falls on the 31st of a month has its day of month changed to 30.
110@returns {number} of days between two dates
111@constructor
112```
113
114### MONTH
115
116```
117 Returns the month of the year a specific date falls in, in numeric format.
118@param date - The date from which to extract the month. Must be a reference to a cell containing a date, a function returning a date type, or a number.
119@returns {number} month of the year that the input date falls on.
120@constructor
121```
122
123### YEAR
124
125```
126 Returns the year specified by a given date.
127@param date - The date from which to calculate the year. Must be a cell reference to a cell containing a date, a function returning a date type, or a number.
128@returns {number} year of the input date
129@constructor
130```
131
132### WEEKDAY
133
134```
135 Returns a number representing the day of the week of the date provided.
136@param date - The date for which to determine the day of the week. Must be a reference to a cell containing a date, a function returning a date type, or a number.
137@param offsetType - [ OPTIONAL - 1 by default ] - A number indicating which numbering system to use to represent weekdays. By default counts starting with Sunday = 1. If type is 1, days are counted from Sunday and the value of Sunday is 1, therefore the value of Saturday is 7. If type is 2, days are counted from Monday and the value of Monday is 1, therefore the value of Sunday is 7. If type is 3, days are counted from Monday and the value of Monday is 0, therefore the value of Sunday is 6.
138@returns {number} day of week
139@constructor
140```
141
142### WEEKNUM
143
144```
145 Returns a number representing the week of the year where the provided date falls. When inputting the date, it is best to use the DATE function, as text values may return errors. Behind the scenes, there are two week numbering "systems" used for this function: System 1 - The first week of the year is considered to be the week containing January 1, which is numbered week 1. System 2 - The first week of the year is considered to be the week containing the first Thursday of the year, which is numbered as week 1. System 2 is the approach specified in ISO 8601, also known as the European system for numbering weeks.
146@param date - The date for which to determine the week number. Must be a reference to a cell containing a date, a function returning a date type, or a number.
147@param shiftType - [ OPTIONAL - default is 1 ] - A number representing the day that a week starts on as well as the system used for determining the first week of the year (1=Sunday, 2=Monday).
148@returns {number} representing week number of year.
149@constructor
150```
151
152### DATEDIF
153
154```
155 Calculates the number of days, months, or years between two dates.
156@param startDate - The start date to consider in the calculation. Must be a reference to a cell containing a DATE, a function returning a DATE type, or a number.
157@param endDate - The end date to consider in the calculation. Must be a reference to a cell containing a DATE, a function returning a DATE type, or a number.
158@param unit - A text abbreviation for unit of time. For example,"M" for month. Accepted values are "Y": the number of whole years between start_date and end_date, "M": the number of whole months between start_date and end_date, "D": the number of days between start_date and end_date, "MD": the number of days between start_date and end_date after subtracting whole months, "YM": the number of whole months between start_date and end_date after ubtracting whole years, "YD": the number of days between start_date and end_date, assuming start_date and end_date were no more than one year apart.
159@returns {number} number of days, months, or years between two dates.
160@constructor
161```
162
163### YEARFRAC
164
165```
166 Returns the number of years, including fractional years, between two dates using a specified day count convention. Further reading: http://christian-fries.de/blog/files/2013-yearfrac.html http://finmath.net/finmath-lib
167@param startDate - The start date to consider in the calculation. Must be a reference to a cell containing a date, a function returning a date type, or a number.
168@param endDate - The end date to consider in the calculation. Must be a reference to a cell containing a date, a function returning a date type, or a number.
169@param dayCountConvention - [ OPTIONAL - 0 by default ] - An indicator of what day count method to use.
170@returns {number}the number of years, including fractional years, between two dates
171@constructor
172```
173
174### TIMEVALUE
175
176```
177 Returns the fraction of a 24-hour day the time represents.
178@param timeString - The string that holds the time representation. Eg: "10am", "10:10", "10:10am", "10:10:11", or "10:10:11am".
179@returns {number} representing the fraction of a 24-hour day
180@constructor
181```
182
183### HOUR
184
185```
186 Returns the hour component of a specific time, in numeric format.
187@param time - The time from which to calculate the hour component. Must be a reference to a cell containing a date/time, a function returning a date/time type, or a number.
188@returns {number}
189@constructor
190```
191
192### MINUTE
193
194```
195 Returns the minute component of a specific time, in numeric format.
196@param time - The time from which to calculate the minute component. Must be a reference to a cell containing a date/time, a function returning a date/time type, or a number.
197@returns {number} minute of the time passed in.
198@constructor
199```
200
201### SECOND
202
203```
204 Returns the second component of a specific time, in numeric format.
205@param time - The time from which to calculate the second component. Must be a reference to a cell containing a date/time, a function returning a date/time type, or a number.
206@returns {number} second component of a specific time.
207@constructor
208```
209
210### NETWORKDAYS
211
212```
213 Returns the number of net working days between two provided days.
214@param startDate - The start date of the period from which to calculate the number of net working days.
215@param endDate - The end date of the period from which to calculate the number of net working days.
216@param holidays - [ OPTIONAL ] - A range or array constant containing the date serial numbers to consider holidays. The values provided within an array for holidays must be date serial number values, as returned by N or date values, as returned by DATE, DATEVALUE or TO_DATE. Values specified by a range should be standard date values or date serial numbers.
217@returns {number} the number of net working days between two provided dates.
218@constructor
219```
220
221### TWORKDAYS$INTL
222
223```
224 Returns the number of networking days between two provided days excluding specified weekend days and holidays.
225@param startDate - The start date of the period from which to calculate the number of net working days.
226@param endDate - The end date of the period from which to calculate the number of net working days.
227@param weekend - [ OPTIONAL - 1 by default ] - A number or string representing which days of the week are considered weekends. String method: weekends can be specified using seven 0’s and 1’s, where the first number in the et represents Monday and the last number is for Sunday. A zero means that the day is a work day, a 1 means that the day is a weekend. For example, “0000011” would mean Saturday and Sunday are weekends. Number method: instead of using the string method above, a single number can be used. 1 = Saturday/Sunday are weekends, 2 = Sunday/Monday, and this pattern repeats until 7 = Friday/Saturday. 11 = Sunday is the only weekend, 12 = Monday is the only weekend, and this pattern repeats until 17 = Saturday is the only weekend.
228@param holidays - [ OPTIONAL ] - A range or array constant containing the dates to consider as holidays. The values provided within an array for holidays must be date serial number values, as returned by N or date values, as returned by DATE, DATEVALUE or TO_DATE. Values specified by a range should be standard date values or date serial numbers.
229@returns {number} of networking days between two provided days
230@constructor
231```
232
233### NOW
234
235```
236 Returns the current date and time as a date value.
237@returns {number} representing the current date and time.
238@constructor
239```
240
241### TODAY
242
243```
244 Returns the current date as a date value.
245@returns {number} today
246@constructor
247```
248
249### TIME
250
251```
252 Converts a provided hour, minute, and second into a time. Will silently recalculate numeric time values which fall outside of valid ranges. Eg: TIME(24, 0, 0) is the same as TIME(0, 0, 0).
253@param hours - The hour component of the time.
254@param minutes - The minute component of the time.
255@param seconds - The second component of the time.
256@returns {number} time of day
257@constructor
258```
259
260### WORKDAY
261
262```
263 Calculates the end date after a specified number of working days.
264@param startDate - The date from which to begin counting.
265@param numberOfDays - The number of working days to advance from start_date. If negative, counts backwards. If not an integer, truncate.
266@param holidays - [ OPTIONAL ] - A range or array constant containing the dates to consider holidays. The values provided within an array for holidays must be date serial number values, as returned by N or date values, as returned by DATE, DATEVALUE or TO_DATE. Values specified by a range should be standard date values or date serial numbers.
267@returns {number} end date after a specified number of working days.
268@constructor
269```
270
271### WORKDAY$INTL
272
273```
274 Calculates the date after a specified number of workdays excluding specified weekend days and holidays.
275@param startDate - The date from which to begin counting.
276@param numberOfDays - The number of working days to advance from start_date. If negative, counts backwards.
277@param weekend - [ OPTIONAL - 1 by default ] - A number or string representing which days of the week are considered weekends. String method: weekends can be specified using seven 0’s and 1’s, where the first number in the et represents Monday and the last number is for Sunday. A zero means that the day is a work day, a 1 means that the day is a weekend. For example, “0000011” would mean Saturday and Sunday are weekends. Number method: instead of using the string method above, a single number can be used. 1 = Saturday/Sunday are weekends, 2 = Sunday/Monday, and this pattern repeats until 7 = Friday/Saturday. 11 = Sunday is the only weekend, 12 = Monday is the only weekend, and this pattern repeats until 17 = Saturday is the only weekend.
278@param holidays - [ OPTIONAL ] - A range or array constant containing the dates to consider holidays.
279@returns {number}
280@constructor
281```
282## Engineering
283
284
285### BIN2DEC
286
287```
288 Converts a signed binary number to decimal format.
289@param signedBinaryNumber - The signed 10-bit binary value to be converted to decimal, provided as a tring. The most significant bit of signed_binary_number is the sign bit; that is, negative numbers are represented in two's complement format.
290@returns {number}
291@constructor
292```
293
294### BIN2HEX
295
296```
297 Converts a signed binary number to signed hexadecimal format.
298@param signedBinaryNumber - The signed 10-bit binary value to be converted to signed hexadecimal, provided as a string. The most significant bit of signed_binary_number is the sign bit; that is, negative numbers are represented in two's complement format.
299@param significantDigits - [ OPTIONAL ] - The number of significant digits to ensure in the result.
300@returns {string} string representation of a signed hexadecimal
301@constructor
302```
303
304### BIN2OCT
305
306```
307 Converts a signed binary number to signed octal format.
308@param signedBinaryNumber - The signed 10-bit binary value to be converted to signed octal, provided as a tring. The most significant bit of signed_binary_number is the sign bit; that is, negative numbers are represented in two's complement format.
309@param significantDigits - [ OPTIONAL ] - The number of significant digits to ensure in the result. If this is greater than the number of significant digits in the result, the result is left-padded with zeros until the total number of digits reaches significant_digits.
310@returns {string} number in octal format
311@constructor
312```
313
314### DEC2OCT
315
316```
317 Converts a decimal number to signed octal format.
318@param decimalDumber - The decimal value to be converted to signed octal,provided as a string. For this function, this value has a maximum of 536870911 if positive, and a minimum of -53687092 if negative.
319@param significantDigits - [ OPTIONAL ] The number of significant digits to ensure in the result. If this is greater than the number of significant digits in the result, the result is left-padded with zeros until the total number of digits reaches significant_digits.
320@returns {string} octal string representation of the decimal number
321@constructor
322```
323
324### DEC2HEX
325
326```
327 Converts a decimal number to signed hexadecimal format.
328@param decimalDumber - The decimal value to be converted to signed hexadecimal, provided as a string. This value has a maximum of 549755813887 if positive, and a minimum of -549755814888 if negative.
329@param significantDigits - [ OPTIONAL ] - The number of significant digits to ensure in the result. If this is greater than the number of significant digits in the result, the result is left-padded with zeros until the total number of digits reaches significant_digits. This value is ignored if decimal_number is negative.
330@returns {string} hexadecimal string representation of the decimal number
331@constructor
332```
333
334### DEC2BIN
335
336```
337 Converts a decimal number to signed binary format.
338@param decimalDumber - The decimal value to be converted to signed binary, provided as a string. For this function, this value has a maximum of 511 if positive, and a minimum of -512 if negative.
339@param significantDigits - [ OPTIONAL ] The number of significant digits to ensure in the result. If this is greater than the number of significant digits in the result, the result is left-padded with zeros until the total number of digits reaches significant_digits.
340@returns {string} signed binary string representation of the input decimal number.
341@constructor
342```
343
344### DELTA
345
346```
347 Compare two numeric values, returning 1 if they're equal.
348@param one - The first number to compare.
349@param two - The second number to compare.
350@returns {number} 1 if they're equal, 0 if they're not equal.
351@constructor
352```
353## Financial
354
355
356### DDB
357
358```
359 Calculates the depreciation of an asset for a specified period using the double-declining balance method.
360@param cost - The initial cost of the asset.
361@param salvage - The value of the asset at the end of depreciation.
362@param life - The number of periods over which the asset is depreciated.
363@param period - The single period within life for which to calculate depreciation.
364@param factor - [ OPTIONAL - 2 by default ] - The factor by which depreciation decreases.
365@returns {number} depreciation of an asset for a specified period
366@constructor
367```
368
369### DB
370
371```
372 Calculates the depreciation of an asset for a specified period using the arithmetic declining balance method.
373@param cost - The initial cost of the asset.
374@param salvage - The value of the asset at the end of depreciation.
375@param life - The number of periods over which the asset is depreciated.
376@param period - The single period within life for which to calculate depreciation.
377@param month - [ OPTIONAL - 12 by default ] - The number of months in the first year of depreciation.
378@returns {number} depreciated value
379@constructor
380```
381
382### DOLLAR
383
384```
385 Formats a number into the locale-specific currency format. WARNING: Currently the equivalent of TRUNC, since this returns numbers
386@param number - The value to be formatted.
387@param places - [ OPTIONAL - 2 by default ] - The number of decimal places to display.
388@returns {number} dollars
389@constructor
390```
391
392### DOLLARDE
393
394```
395 Converts a price quotation given as a decimal fraction into a decimal value.
396@param fractionalPrice - The price quotation given using fractional decimal conventions.
397@param unit - The units of the fraction, e.g. 8 for 1/8ths or 32 for 1/32nds.
398@returns {number} decimal value.
399@constructor
400```
401
402### DOLLARFR
403
404```
405 Converts a price quotation given as a decimal value into a decimal fraction.
406@param decimalPrice - The price quotation given as a decimal value.
407@param unit - The units of the desired fraction, e.g. 8 for 1/8ths or 32 for 1/32nds
408@returns {number} price quotation as decimal fraction.
409@constructor
410```
411
412### EFFECT
413
414```
415 Calculates the annual effective interest rate given the nominal rate and number of compounding periods per year.
416@param nominalRate - The nominal interest rate per year.
417@param periodsPerYear - The number of compounding periods per year.
418@returns {number} annual effective interest rate
419@constructor
420```
421
422### PMT
423
424```
425 Calculates the periodic payment for an annuity investment based on constant-amount periodic payments and a constant interest rate.
426@param rate - The interest rate.
427@param periods - The number of payments to be made.
428@param presentValue - The current value of the annuity.
429@param futureValue [ OPTIONAL ] - The future value remaining after the final payment has been made.
430@param endOrBeginning [ OPTIONAL - 0 by default ] - Whether payments are due at the end (0) or beginning (1) of each period.
431@returns {number}
432@constructor
433```
434
435### FV
436
437```
438 Returns the future value of an investment based on periodic, constant payments and a constant interest rate.
439@param rate - The rate of periodic interest.
440@param periods - The total number of periods.
441@param payment - The annuity paid regularly per period
442@param value - [OPTIONAL] - The present cash value of an investment.
443@param type - [OPTIONAL] - Defines whether the payment is due at the beginning (1) or the end (0) of a period.
444@returns {number}
445@constructor
446```
447
448### CUMPRINC
449
450```
451 Calculates the cumulative principal paid over a range of payment periods for an investment based on constant-amount periodic payments and a constant interest rate.
452@param rate - The interest rate.
453@param numberOfPeriods - The number of payments to be made.
454@param presentValue - The current value of the annuity.
455@param firstPeriod - The number of the payment period to begin the cumulative calculation. must be greater than or equal to 1.
456@param lastPeriod - The number of the payment period to end the cumulative calculation, must be greater than first_period.
457@param endOrBeginning - Whether payments are due at the end (0) or beginning (1) of each period
458@returns {number} cumulative principal
459@constructor
460```
461
462### CUMIPMT
463
464```
465 Calculates the cumulative interest over a range of payment periods for an investment based on constant-amount periodic payments and a constant interest rate.
466@param rate - The interest rate.
467@param numberOfPeriods - The number of payments to be made.
468@param presentValue - The current value of the annuity.
469@param firstPeriod - The number of the payment period to begin the cumulative calculation, must be greater than or equal to 1.
470@param lastPeriod - The number of the payment period to end the cumulative calculation, must be greater than first_period.
471@param endOrBeginning - Whether payments are due at the end (0) or beginning (1) of each period.
472@returns {number} cumulative interest
473@constructor
474```
475
476### ACCRINT
477
478```
479 Calculates the accrued interest of a security that has periodic payments. WARNING: This function has been implemented to specifications as outlined in Google Spreadsheets, LibreOffice, and OpenOffice. It functions much the same as MSExcel's ACCRINT, but there are several key differences. Below are links to illustrate the differences. Please see the source code for more information on differences. Links: https://quant.stackexchange.com/questions/7040/whats-the-algorithm-behind-excels-accrint, https://support.office.com/en-us/article/ACCRINT-function-fe45d089-6722-4fb3-9379-e1f911d8dc74, https://quant.stackexchange.com/questions/7040/whats-the-algorithm-behind-excels-accrint, https://support.google.com/docs/answer/3093200 .
480@param issue - The date the security was initially issued.
481@param firstPayment - The first date interest will be paid.
482@param settlement - The settlement date of the security, the date after issuance when the security is delivered to the buyer. Is the maturity date of the security if it is held until maturity rather than sold.
483@param rate - The annualized rate of interest.
484@param redemption - The redemption amount per 100 face value, or par.
485@param frequency - The number of coupon payments per year. For annual payments, frequency = 1; for emiannual, frequency = 2; for quarterly, frequency = 4.
486@param dayCountConvention - [ OPTIONAL - 0 by default ] - An indicator of what day count method to use. 0 or omitted = US (NASD) 30/360, 1 = Actual/actual, 2 = Actual/360, 3 = Actual/365, 4 = European 30/360.
487@returns {number}
488@constructor TODO: This function is based off of the open-source versions I was able to dig up online. We should implement a TODO: second version that is closer to what MSExcel does and is named something like `ACCRINT.MS`.
489```
490
491### SYD
492
493```
494 Returns the arithmetic-declining depreciation rate. Use this function to calculate the depreciation amount for one period of the total depreciation span of an object. Arithmetic declining depreciation reduces the depreciation amount from period to period by a fixed sum.
495@param cost - The initial cost of an asset.
496@param salvage - the value of an asset after depreciation.
497@param life - The period fixing the time span over which an asset is depreciated.
498@param period - The period for which the depreciation is to be calculated.
499@returns {number}
500@constructor
501```
502
503### SLN
504
505```
506 Returns the straight-line depreciation of an asset for one period. The amount of the depreciation is constant during the depreciation period.
507@param cost - The initial cost of the asset.
508@param salvage - The value of an asset at the end of the depreciation.
509@param life - The depreciation period determining the number of periods in the deprecation of the asset.
510@returns {number}
511@constructor
512```
513
514### NPV
515
516```
517 Returns the net present value of an investment based on a series of periodic cash flows and a discount rate.
518@param rate - The discount rate for a period.
519@param values - The values representing deposits or withdrawals.
520@returns {number}
521@constructor TODO: This function can return results that are prone to floating point precision errors.
522```
523
524### NPER
525
526```
527 Returns the number of payment for an investment. Number is based on constant-amount payments made periodically and a constant interest rate.
528@param rate - The interest rate.
529@param payment - The amount of each payment.
530@param present - THe current value.
531@param future - [OPTIONAL] - The future value remaining after the final payment has been made.
532@param type [OPTIONAL 0 by default] - 1 indicates payments are due at the beginning of each period. 0 indicates payments are due at the end of each period.
533@returns {number}
534@constructor
535```
536
537### NOMINAL
538
539```
540 Calculates the yearly nominal interest rate, given the effective rate and the number of compounding periods per year.
541@param rate - The effective interest rate.
542@param periods - The number of periodic interest payments per year.
543@returns {number}
544@constructor
545```
546
547### MIRR
548
549```
550 Calculates the modified internal rate of return of a series of investments.
551@param values - Range or values of payments. Ignores text values.
552@param financeRate - The rate of interest of the investments.
553@param reinvestRate - The rate of interest of the reinvestment.
554@returns {number}
555@constructor TODO: This relies on NPV and will therefore be prone to floating-point errors.
556```
557
558### IRR
559
560```
561 Calculates the internal rate of return for an investment. The values represent cash flow values at regular intervals; at least one value must be negative (payments), and at least one value must be positive (income). Relevant StackOverflow discussion: https://stackoverflow.com/questions/15089151/javascript-irr-internal-rate-of-return-formula-accuracy
562@param values - Range containing values. Ignores text values.
563@param guess - [OPTIONAL] - The estimated value. Defaults to 0.01.
564@returns {number}
565@constructor
566```
567
568### IPMT
569
570```
571 Calculates the periodic amortization for an investment with regular payments and a constant interest rate.
572@param rate - The periodic interest rate.
573@param period - The period for which the compound interest is calculated.
574@param periods - The total number of periods during which the annuity is paid.
575@param present - The present cash value in sequence of payments.
576@param future - [OPTIONAL] - The desired value (future value) at the end of the periods.
577@param type - [OPTIONAL] - Defines whether the payment is due at the beginning (1) or the end (0) of a period.
578@returns {number}
579@constructor
580```
581
582### PPMT
583
584```
585 Returns for a given period the payment on the principal for an investment that is based on periodic and constant payments and a constant interest rate.
586@param rate - The periodic interest rate.
587@param period - The amortization period.
588@param periods - The total number of periods during which the annuity is paid.
589@param present - The present value in the sequence of payments.
590@param future - [OPTIONAL] - The desired future value. Defaults to 0.
591@param type - [OPTIONAL] - Indicates how the year is to be calculated. 0 indicates payments are due at end of period, 1 indicates payments are due at beginning of period. Defaults to 0.
592@returns {number}
593@constructor
594```
595
596### FVSCHEDULE
597
598```
599 Calculates the accumulated value of the starting capital for a series of periodically varying interest rates.
600@param principal - The starting capital.
601@param rateSchedule - Range or Array that is a series of interest rates.
602@returns {number}
603@constructor
604```
605
606### PV
607
608```
609 Returns the present value of an investment resulting from a series of regular payments.
610@param rate - The interest rate per period.
611@param periods - The total number of payment periods
612@param paymentPerPeriod - The regular payment made per period.
613@param future - [OPTIONAL defaults to 0] The future value remaining after the final installment has been made
614@param type - [OPTIONAL defaults to 0] Defines whether the payment is due at the beginning (1) or the end (0) of a period.
615@constructor
616```
617
618### RATE
619
620```
621 Returns the constant interest rate per period of an annuity.
622@param periods - The total number of periods, during which payments are made (payment period).
623@param paymentPerPeriod - The constant payment (annuity) paid during each period.
624@param presentValue - The cash value in the sequence of payments
625@param futureValue - [OPTIONAL defaults to 0] The future value, which is reached at the end of the periodic payments.
626@param beginningOrEnd - [OPTIONAL defaults to 0] Defines whether the payment is due at the beginning (1) or the end (0) of a period.
627@param guessRate - [OPTIONAL] - Determines the estimated value of the interest with iterative calculation.
628@constructor
629```
630## Info
631
632
633### NA
634
635```
636 Returns the "value not available" error, "#N/A".
637@constructor
638```
639
640### ISTEXT
641
642```
643 Returns true if a value is text.
644@param value - value or reference to check.
645@returns {boolean}.
646@constructor
647```
648
649### ISNONTEXT
650
651```
652 Returns true if a value is not text.
653@param value - value or reference to check.
654@returns {boolean}.
655@constructor
656```
657
658### ISLOGICAL
659
660```
661 Returns true if value is a boolean (FALSE, or TRUE). Numerical and text values return false.
662@param value - value or reference to check.
663@returns {boolean}
664@constructor
665```
666
667### ISNUMBER
668
669```
670 Returns true if value or reference is a number.
671@param value - value or reference to check.
672@returns {boolean}
673@constructor
674```
675
676### ISEMAIL
677
678```
679 Returns true if input is a valid email. Valid domains are Original top-level domains and Country code top-level domains.
680@param value - Value to check whether it is an email or not.
681@returns {boolean}
682@constructor
683```
684
685### ISURL
686
687```
688 Returns true if the input is a valid URL.
689@param value - Value to check
690@returns {boolean}
691@constructor
692```
693
694### N
695
696```
697 Returns the value as a number.
698@param value - value to return.
699@returns {number}
700@constructor
701```
702
703### ISREF
704
705```
706 Tests if the content of one or several cells is a reference. Verifies the type of references in a cell or a range of cells. If an error occurs, the function returns a logical or numerical value.
707@param value - The value to be tested, to determine whether it is a reference.
708@returns {boolean}
709@constructor
710```
711
712### ERRORTYPE
713
714```
715 Returns the number corresponding to an error value occurring in a different cell. With the aid of this number, an error message text can be generated. If an error occurs, the function returns a logical or numerical value.
716@param value - Contains either the address/reference of the cell in which the error occurs, or the error directly. Eg: `=ERRORTYPE(NA())`
717@constructor
718```
719
720### ISBLANK
721
722```
723 Returns TRUE if the reference to a cell is blank. This function is used to determine if the content of a cell is empty. A cell with a formula inside is not empty. If an error occurs, the function returns a logical or numerical value.
724@param value - The content to be tested.
725@returns {boolean}
726@constructor
727```
728
729### ISERR
730
731```
732 Returns TRUE if the value refers to any error value except #N/A. You can use this function to control error values in certain cells. If an error occurs, the function returns a logical or numerical value.
733@param value - Any value or expression in which a test is performed to determine whether an error value not equal to #N/A is present.
734@returns {boolean}
735@constructor
736```
737
738### ISERROR
739
740```
741 Tests if the cells contain general error values. ISERROR recognizes the #N/A error value. If an error occurs, the function returns a logical or numerical value.
742@param value - is any value where a test is performed to determine whether it is an error value.
743@returns {boolean}
744@constructor
745```
746
747### ISNA
748
749```
750 Returns TRUE if a cell contains the #N/A (value not available) error value. If an error occurs, the function returns a logical or numerical value.
751@param value - The value or expression to be tested.
752@returns {boolean}
753@constructor
754```
755
756### IFERROR
757
758```
759 Returns the first argument if no error value is present, otherwise returns the second argument if provided, or a blank if the second argument is absent. Blank value is `null`.
760@param value - Value to check for error.
761@param valueIfError - [OPTIONAL] - Value to return if no error is present in the first argument.
762@returns {any}
763@constructor
764```
765
766### TYPE
767
768```
769 Returns a number corresponding to the type of data passed into the function. 1 = number, 2 = text, 4 = boolean, 16 = error, 64 = array/range, 128 = any other type of cell.
770@param value - Value for which the type will be determined.
771@returns {number}
772@constructor
773```
774
775### COLUMN
776
777```
778 Returns the column number of a specified cell, starting with column 1 for A.
779@param cell - Cell, defaults to the cell calling this formula, when used in the context of a spreadsheet.
780@constructor
781```
782
783### ROW
784
785```
786 Returns the row number of a specified cell, starting with row 1 for A1.
787@param cell - Cell, defaults to the cell calling this formula, when used in the context of a spreadsheet.
788@constructor
789```
790
791### ISFORMULA
792
793```
794 Returns TRUE if a cell is a formula cell. Must be given a reference.
795@param value - To check.
796@returns {boolean}
797@constructor
798```
799## Logical
800
801
802### AND
803
804```
805 Returns true if all of the provided arguments are logically true, and false if any of the provided arguments are logically false.
806@param values At least one expression or reference to a cell containing an expression that represents some logical value, i.e. TRUE or FALSE, or an expression that can be coerced to a logical value.
807@returns {boolean} if all values are logically true.
808@constructor
809```
810
811### EXACT
812
813```
814 Tests whether two strings are identical, returning true if they are.
815@param one - The first string to compare
816@param two - The second string to compare
817@returns {boolean}
818@constructor
819```
820
821### TRUE
822
823```
824 Returns true.
825@returns {boolean} true boolean
826@constructor
827```
828
829### FALSE
830
831```
832 Returns false.
833@returns {boolean} false boolean
834@constructor
835```
836
837### NOT
838
839```
840 Returns the opposite of a logical value - NOT(TRUE) returns FALSE; NOT(FALSE) returns TRUE.
841@param value - An expression or reference to a cell holding an expression that represents some logical value.
842@returns {boolean} opposite of a logical value input
843@constructor
844```
845
846### OR
847
848```
849 Returns true if any of the provided arguments are logically true, and false if all of the provided arguments are logically false.
850@param values An expression or reference to a cell containing an expression that represents some logical value, i.e. TRUE or FALSE, or an expression that can be coerced to a logical value.
851@returns {boolean}
852@constructor
853```
854
855### XOR
856
857```
858 Exclusive or or exclusive disjunction is a logical operation that outputs true only when inputs differ.
859@param values to check for exclusivity.
860@returns {boolean} returns true if only one input is considered logically true.
861@constructor
862```
863## Lookup
864
865
866### CHOOSE
867
868```
869 Returns an element from a list of choices based on index.
870@param index - Which choice to return. Index starts at 1.
871@param values - Array of potential value to return. Required. May be a reference to a cell or an individual value.
872@constructor
873```
874
875### ADDRESS
876
877```
878 Returns a text representation of a cell address based on the row, column, and sheet.
879@param row - Row of cell address.
880@param column - Column of cell address
881@param {number} absoluteVsRelativeMode - [OPTIONAL - default is 1] Should return a relative(A1, vs $A$1) or absolute address. 1 is row and column absolute (e.g. $A$1), 2 is row absolute and column relative (e.g. A$1), 3 is row relative and column absolute (e.g. $A1), 4 is row and column relative (e.g. A1).
882@param {boolean} useA1Notation - [OPTIONAL - default is TRUE] Should use A1 notation.
883@param sheet - [OPTIONAL] Sheet name to use in address.
884@returns {string}
885@constructor
886```
887
888### COLUMNS
889
890```
891 Gets the number of columns in a specified array or range.
892@param value - The array of range to consider.
893@returns {number}
894@constructor
895```
896## Math
897
898
899### GCD
900
901```
902 Returns the greatest common divisor of one or more integers.
903@param values - The values or ranges whose factors to consider in a calculation to find the greatest common divisor.
904@returns {number} greatest common divisor.
905@constructor
906```
907
908### LCM
909
910```
911 Returns the least common multiple of one or more integers.
912@param values - The values or range whose factors to consider in a calculation to find the least common multiple.
913@returns {number}
914@constructor
915```
916
917### GAMMALN
918
919```
920 Returns the the logarithm of a specified Gamma function, base e (Euler's number).
921@param value - The input number. The natural logarithm of Gamma (value) will be returned. Must be positive.
922@returns {number}
923@constructor
924```
925
926### ABS
927
928```
929 Returns the absolute value of a number.
930@param value to get the absolute value of.
931@returns {number} absolute value
932@constructor
933```
934
935### ACOS
936
937```
938 Returns the inverse cosine of a value, in radians.
939@param value The value for which to calculate the inverse cosine. Must be between -1 and 1, inclusive.
940@returns {number} inverse cosine of value
941@constructor
942```
943
944### ACOSH
945
946```
947 Returns the inverse hyperbolic cosine of a number.
948@param value The value for which to calculate the inverse hyperbolic cosine. Must be greater than or equal to 1.
949@returns {number} to find the inverse hyperbolic cosine for.
950@constructor
951```
952
953### ACOTH
954
955```
956 Calculate the hyperbolic arc-cotangent of a value
957@param value number not between -1 and 1 inclusively.
958@returns {number} hyperbolic arc-cotangent
959@constructor
960```
961
962### ASIN
963
964```
965 Returns the inverse sine of a value, in radians.
966@param value The value for which to calculate the inverse sine. Must be between -1 and 1, inclusive.
967@returns {number} inverse sine of input value
968@constructor
969```
970
971### ASINH
972
973```
974 Returns the inverse hyperbolic sine of a number.
975@param value The value for which to calculate the inverse hyperbolic sine.
976@returns {number} inverse hyperbolic sine of input
977@constructor
978```
979
980### ATAN
981
982```
983 Returns the inverse tangent of a value, in radians.
984@param value The value for which to calculate the inverse tangent.
985@returns {number} inverse tangent of input value
986@constructor
987```
988
989### ATAN2
990
991```
992 Returns the angle between the x-axis and a line segment from the origin (0,0) to specified coordinate pair (x,y), in radians.
993@param x The x coordinate of the endpoint of the line segment for which to calculate the angle from the x-axis.
994@param y The y coordinate of the endpoint of the line segment for which to calculate the angle from the x-axis.
995@returns {number} angle in radians
996@constructor
997```
998
999### ATANH
1000
1001```
1002 Returns the inverse hyperbolic tangent of a number.
1003@param value The value for which to calculate the inverse hyperbolic tangent. Must be between -1 and 1, exclusive.
1004@returns {number} inverse hyperbolic tangent of input
1005@constructor
1006```
1007
1008### EVEN
1009
1010```
1011 Rounds a number up to the nearest even integer.
1012@param value The value to round to the next greatest even number.
1013@returns {number} next greatest even number
1014@constructor
1015```
1016
1017### MOD
1018
1019```
1020 Returns the result of the modulo operator, the remainder after a division operation.
1021@param dividend The number to be divided to find the remainder.
1022@param divisor The number to divide by.
1023@returns {number}
1024@constructor
1025```
1026
1027### ODD
1028
1029```
1030 Rounds a number up to the nearest odd integer.
1031@param value The value to round to the next greatest odd number.
1032@returns {number} value to round up to next greatest odd number.
1033@constructor
1034```
1035
1036### POWER
1037
1038```
1039 Returns a number raised to a power.
1040@param base - The number to raise to the exponent power.
1041@param exponent - The exponent to raise base to.
1042@returns {number} resulting number
1043@constructor
1044```
1045
1046### SUM
1047
1048```
1049 Returns the sum of a series of numbers and/or cells.
1050@param values The first number or range to add together.
1051@returns {number} The sum of the series
1052@constructor
1053```
1054
1055### SQRT
1056
1057```
1058 Returns the positive square root of a positive number.
1059@param value - The number for which to calculate the positive square root.
1060@returns {number} square root
1061@constructor
1062```
1063
1064### SQRTPI
1065
1066```
1067 Returns the positive square root of the product of Pi and the given positive number.
1068@param value - The number which will be multiplied by Pi and have the product's square root returned
1069@returns {number} the positive square root of the product of Pi and the given positive number.
1070@constructor
1071```
1072
1073### COS
1074
1075```
1076 Returns the cosine of an angle provided in radians.
1077@param value - The angle to find the cosine of, in radians.
1078@returns {number} cosine of angle
1079@constructor
1080```
1081
1082### COSH
1083
1084```
1085 Returns the hyperbolic cosine of any real number.
1086@param value - Any real value to calculate the hyperbolic cosine of.
1087@returns {number} the hyperbolic cosine of the input
1088@constructor
1089```
1090
1091### COT
1092
1093```
1094 Returns the cotangent of any real number. Defined as cot(x) = 1 / tan(x).
1095@param value - number to calculate the cotangent for
1096@returns {number} cotangent
1097@constructor
1098```
1099
1100### COTH
1101
1102```
1103 Return the hyperbolic cotangent of a value, defined as coth(x) = 1 / tanh(x).
1104@param value - value to calculate the hyperbolic cotangent value of
1105@returns {number} hyperbolic cotangent
1106@constructor
1107```
1108
1109### INT
1110
1111```
1112 Rounds a number down to the nearest integer that is less than or equal to it.
1113@param value - The value to round down to the nearest integer.
1114@returns {number} Rounded number
1115@constructor
1116```
1117
1118### ISEVEN
1119
1120```
1121 Checks whether the provided value is even.
1122@param value - The value to be verified as even.
1123@returns {boolean} whether this value is even or not
1124@constructor
1125```
1126
1127### ISODD
1128
1129```
1130 Checks whether the provided value is odd.
1131@param value - The value to be verified as odd.
1132@returns {boolean} whether this value is odd or not
1133@constructor
1134```
1135
1136### SIN
1137
1138```
1139 Returns the sine of an angle provided in radians.
1140@param value - The angle to find the sine of, in radians.
1141@returns {number} Sine of angle.
1142@constructor
1143```
1144
1145### SINH
1146
1147```
1148 Returns the hyperbolic sine of any real number.
1149@param value - real number to find the hyperbolic sine of
1150@returns {number} hyperbolic sine
1151@constructor
1152```
1153
1154### PI
1155
1156```
1157 The value Pi.
1158@returns {number} Pi.
1159@constructor
1160```
1161
1162### LOG10
1163
1164```
1165 Returns the the logarithm of a number, base 10.
1166@param value - The value for which to calculate the logarithm, base 10.
1167@returns {number} logarithm of the number, in base 10.
1168@constructor
1169```
1170
1171### LOG
1172
1173```
1174 Returns the the logarithm of a number given a base.
1175@param value - The value for which to calculate the logarithm given base.
1176@param base - The base to use for calculation of the logarithm. Defaults to 10.
1177@returns {number}
1178@constructor
1179```
1180
1181### LN
1182
1183```
1184 Returns the logarithm of a number, base e (Euler's number).
1185@param value - The value for which to calculate the logarithm, base e.
1186@returns {number} logarithm calculated
1187@constructor
1188```
1189
1190### TAN
1191
1192```
1193 Returns the tangent of an angle provided in radians.
1194@param value - The angle to find the tangent of, in radians.
1195@returns {number} tangent in radians
1196@constructor
1197```
1198
1199### TANH
1200
1201```
1202 Returns the hyperbolic tangent of any real number.
1203@param value - Any real value to calculate the hyperbolic tangent of.
1204@returns {number} hyperbolic tangent
1205@constructor
1206```
1207
1208### CEILING
1209
1210```
1211 Rounds a number up to the nearest integer multiple of specified significance.
1212@param value The value to round up to the nearest integer multiple of factor.
1213@param factor - [ OPTIONAL ] The number to whose multiples value will be rounded.
1214@returns {number}
1215@constructor
1216```
1217
1218### FLOOR
1219
1220```
1221 Rounds a number down to the nearest integer multiple of specified significance.
1222@param value - The value to round down to the nearest integer multiple of factor.
1223@param factor - The number to whose multiples value will be rounded.
1224@returns {number}
1225@constructor
1226```
1227
1228### IF
1229
1230```
1231 Returns one value if a logical expression is TRUE and another if it is FALSE.
1232@param logicalExpression - An expression or reference to a cell containing an expression that represents some logical value, i.e. TRUE or FALSE.
1233@param valueIfTrue - The value the function returns if logical_expression is TRUE
1234@param valueIfFalse - The value the function returns if logical_expression is FALSE.
1235@returns one value if a logical expression is TRUE and another if it is FALSE.
1236@constructor
1237```
1238
1239### COUNTIF
1240
1241```
1242 Returns a conditional count across a range.
1243@param range - The range that is tested against criterion., value[1];
1244@param criteria - The pattern or test to apply to range. If the range to check against contains text, this must be a string. It can be a comparison based string (e.g. "=1", "<1", ">=1") or it can be a wild-card string, in which matches any number of characters, and ? matches the next character. Both ? and can be escaped by placing a ~ in front of them. If it is neither, it will compared with values in the range using equality comparison.
1245@returns {number}
1246@constructor
1247```
1248
1249### COUNTIFS
1250
1251```
1252 Returns the count of a range depending on multiple criteria.
1253@param values[0] criteria_range1 - The range to check against criterion1.
1254@param values[1] criterion1 - The pattern or test to apply to criteria_range1.
1255@param values[2...N] Repeated sets of ranges and criterion to check.
1256@returns {number} count
1257@constructor
1258```
1259
1260### ROUND
1261
1262```
1263 Rounds a number to a certain number of decimal places according to standard rules.
1264@param value - The value to round to places number of places.
1265@param places - The number of decimal places to which to round.
1266@returns {number}
1267@constructor
1268```
1269
1270### ROUNDDOWN
1271
1272```
1273 Rounds a number to a certain number of decimal places, always rounding down to the next valid increment.
1274@param value - The value to round to places number of places, always rounding down.
1275@param places - (optional) The number of decimal places to which to round.
1276@returns {number}
1277@constructor
1278```
1279
1280### ROUNDUP
1281
1282```
1283 Rounds a number to a certain number of decimal places, always rounding up to the next valid increment.
1284@param value - The value to round to places number of places, always rounding up.
1285@param places - (optional) The number of decimal places to which to round.
1286@returns {number}
1287@constructor
1288```
1289
1290### SUMIF
1291
1292```
1293 Returns a conditional sum across a range.
1294@param range - The range which is tested against criterion.
1295@param criteria - The pattern or test to apply to range. If the range to check against contains text, this must be a tring. It can be a comparison based string (e.g. "=1", "<1", ">=1") or it can be a wild-card string, in which matches any number of characters, and ? matches the next character. Both ? and can be escaped by placing a ~ in front of them.
1296@param sumRange - (optional) The range to be summed, if different from range.
1297@returns {number}
1298@constructor
1299```
1300
1301### SUMSQ
1302
1303```
1304 Returns the sum of the squares of a series of numbers and/or cells.
1305@param values The values or range(s) whose squares to add together.
1306@returns {number} the sum of the squares if the input.
1307@constructor
1308```
1309
1310### MULTIPLY
1311
1312```
1313 Returns the product of two numbers. Equivalent to the `` operator.
1314@param factor1 - The first multiplicand.
1315@param factor2 - The second multiplicand.
1316@constructor
1317```
1318
1319### MINUS
1320
1321```
1322 Returns the result of the first number minus the second number. Equivalent to the `-` operator.
1323@param one - The first number.
1324@param two - the second number.
1325@returns {number}
1326@constructor
1327```
1328
1329### EQ
1330
1331```
1332 Returns true if two specified values are equal and true otherwise. Equivalent to the "=" operator.
1333@param one - First value to check.
1334@param two - Second value to check.
1335@returns {boolean} true if values are equal, false if they are not equal.
1336@constructor
1337```
1338
1339### GT
1340
1341```
1342 Returns true if the first argument is strictly greater than the second, and false otherwise. Equivalent to the `>` operator.
1343@param one - The value to test as being greater than `two`.
1344@param two - The second value.
1345@returns {boolean}
1346@constructor
1347```
1348
1349### GTE
1350
1351```
1352 Returns true if the first argument is greater than or equal to the second, and false otherwise. Equivalent to the `>=` operator.
1353@param one - The value to test as being greater than or equal to `two`.
1354@param two -The second value.
1355@returns {boolean}
1356@constructor
1357```
1358
1359### LT
1360
1361```
1362 Returns true if the first argument is strictly less than the second, and false otherwise. Equivalent to the `<` operator.
1363@param one - The value to test as being less than `two`.
1364@param two - The second value.
1365@returns {boolean}
1366@constructor
1367```
1368
1369### LTE
1370
1371```
1372 Returns true if the first argument is less than or equal to the second, and true otherwise. Equivalent to the `<=` operator.
1373@param one - The value to test as being less than or equal to `two`.
1374@param two - The second value.
1375@constructor
1376```
1377
1378### NE
1379
1380```
1381 Returns "TRUE" if two specified values are not equal and "FALSE" otherwise. Equivalent to the "<>" operator.
1382@param one - The value to test as being not equal to `two`.
1383@param two - The second valud.
1384@returns {boolean}
1385@constructor
1386```
1387
1388### DIVIDE
1389
1390```
1391 Returns one number divided by another. Equivalent to the `/` operator.
1392@param dividend - The number to be divided.
1393@param divisor - The number to divide by, cannot be 0.
1394@returns {number} result of dividend / divisor.
1395@constructor
1396```
1397
1398### RAND
1399
1400```
1401 Returns a random number between 0 inclusive and 1 exclusive.
1402@returns {number}
1403@constructor
1404```
1405
1406### RANDBETWEEN
1407
1408```
1409 Returns a uniformly random integer between two values, inclusive on high and low. Values with decimal parts may be used for low and/or high; this will cause the least and greatest possible values to be the next integer greater than low and/or the next integer less than high, respectively.
1410@param low - lowest value
1411@param high - highest value
1412@returns {number} between low and high.
1413@constructor
1414```
1415
1416### SIGN
1417
1418```
1419 Given an input number, returns `-1` if it is negative, `1` if positive, and `0` if it is zero.
1420@param value - The value to check the sign for
1421@returns {number} `-1` if it is negative, `1` if positive, and `0` if it is zero.
1422@constructor
1423```
1424
1425### TRUNC
1426
1427```
1428 Truncates a number to a certain number of significant digits by omitting less significant digits.
1429@param value - The value to be truncated.
1430@param places - [ OPTIONAL - 0 by default ] - The number of significant digits to the right of the decimal point to retain. If places is greater than the number of significant digits in value, value is returned without modification. places may be negative, in which case the specified number of digits to the left of the decimal place are changed to zero. All digits to the right of the decimal place are discarded. If all digits of value are changed to zero, TRUNC imply returns 0.
1431@returns {number} after truncation
1432@constructor
1433```
1434
1435### RADIANS
1436
1437```
1438 Converts an angle value in degrees to radians.
1439@param angle - The angle to convert from degrees to radians.
1440@returns {number} radians
1441@constructor
1442```
1443
1444### DEGREES
1445
1446```
1447 Converts an angle value in radians to degrees.
1448@param angle - The angle to convert from radians to degrees.
1449@returns {number} degrees
1450@constructor
1451```
1452
1453### ERFC
1454
1455```
1456 Returns the complementary Gauss error function of a value.
1457@param value - The number for which to calculate the complementary Gauss error function.
1458@returns {number} complementary Gauss error function of a value
1459@constructor
1460```
1461
1462### ERF
1463
1464```
1465 Returns the error function integrated between lower_limit and upper_limit.
1466@param lowerLimit - The lower bound for integrating ERF.
1467@param upperLimit - [Optional]. The upper bound for integrating ERF. If omitted, ERF integrates between zero and lower_limit.
1468@returns {number} error function integrated between lower_limit and upper_limit
1469@constructor
1470```
1471
1472### SUMX2PY2
1473
1474```
1475 Calculates the sum of the sums of the squares of values in two arrays.
1476@param arrayX - The array or range of values whose squares will be added to the squares of corresponding entries in arrayY and added together.
1477@param arrayY - The array or range of values whose squares will be added to the squares of corresponding entries in arrayX and added together.
1478@returns {number} sum of the sums of the squares
1479@constructor
1480```
1481
1482### SUMX2MY2
1483
1484```
1485 Calculates the sum of the differences of the squares of values in two arrays.
1486@param arrayX - The array or range of values whose squares will be reduced by the squares of corresponding entries in array_y and added together.
1487@param arrayY - The array or range of values whose squares will be subtracted from the squares of corresponding entries in array_x and added together.
1488@returns {number} sum of the differences of the squares
1489@constructor
1490```
1491
1492### COUNTUNIQUE
1493
1494```
1495 Counts the number of unique values in a list of specified values and ranges.
1496@param values The values or ranges to consider for uniqueness. Supports an arbitrary number of arguments for this function.
1497@returns {number} of unique values passed in.
1498@constructor
1499```
1500
1501### SUMPRODUCT
1502
1503```
1504 Calculates the sum of the products of corresponding entries in two equal-sized arrays or ranges.
1505@param values Arrays or ranges whose entries will be multiplied with corresponding entries in the second such array or range.
1506@returns {number} sum of the products
1507@constructor
1508```
1509
1510### COMBIN
1511
1512```
1513 Returns the number of ways to choose some number of objects from a pool of a given size of objects.
1514@param m - The size of the pool of objects to choose from.
1515@param k - The number of objects to choose.
1516@returns {number} number of ways
1517@constructor
1518```
1519
1520### PRODUCT
1521
1522```
1523 Multiply a series of numbers together.
1524@param values - values or range of values to multiply by each other.
1525@constructor
1526```
1527
1528### QUOTIENT
1529
1530```
1531 Divide one number by another
1532@param dividend - number to be divided by the divisor.
1533@param divisor - number to divide the dividend.
1534@returns {number}
1535@constructor
1536```
1537
1538### UPLUS
1539
1540```
1541 Returns a value, but does nothing to it. If given a range, will return first value.
1542@param value to return
1543@returns any value
1544@constructor
1545```
1546
1547### UMINUS
1548
1549```
1550 Returns the same number, but with the sign reversed.
1551@param value to reverse the sign on
1552@returns {number}
1553@constructor
1554```
1555
1556### MROUND
1557
1558```
1559 Rounds a number to the nearest integer multiple of another.
1560@param value - value to round.
1561@param factor - multiple.
1562@returns {number}
1563@constructor
1564```
1565
1566### FACTDOUBLE
1567
1568```
1569 Calculates the double-factorial of a number.
1570@param value - value or reference to calculate.
1571@returns {number}
1572@constructor
1573```
1574
1575### UNARY_PERCENT
1576
1577```
1578 Returns a value as a percentage where 100 is 1.0, and 0 is 0.
1579@param value - To convert.
1580@returns {number}
1581@constructor
1582```
1583
1584### MULTINOMIAL
1585
1586```
1587 Returns the factorial of the sum of the arguments divided by the product of the factorials of the arguments.
1588@param values - Range of numbers.
1589@returns {number}
1590@constructor
1591```
1592
1593### SERIESSUM
1594
1595```
1596 Returns a sum of powers of the number x in accordance with the following formula.
1597@param x - The number as an independent variable.
1598@param n - The starting power.
1599@param m - The number to increment by
1600@param coefficients - A series of coefficients. For each coefficient the series sum is extended by one section. You can only enter coefficients using cell references.
1601@returns {number}
1602@constructor
1603```
1604
1605### SUBTOTAL
1606
1607```
1608 Calculates subtotals. If a range already contains subtotals, these are not used for further calculations.
1609@param functionCode - A value that stands for another function: 1=AVERAGE, 2=COUNT, 3=COUNTA, 4=MAX, 5=MIN, 6=PRODUCT, 7=STDEV, 8=STDEVP, 9=SUM, 10=VAR, 11=VARP.
1610@param values - The ranges whose cells are included.
1611@returns {Array}
1612@constructor
1613```
1614## Range
1615
1616
1617### FREQUENCY
1618
1619```
1620 Calculates the frequency distribution of a range into specified classes or "bins".
1621@param range - to get frequency for.
1622@param bins - or classes.
1623@returns {Array<number>}
1624@constructor TODO: Returns ColumnArray (values stacked in Y-direction)
1625```
1626
1627### GROWTH
1628
1629```
1630 Given partial data with exponential growth, fits and ideal exponential growth trend, and predicts future values. For more information see: https://xkcd.com/1102
1631@param knownY - The range or array containing the dependent, y, values that are known, and will be used to fit an ideal exponential growth curve.
1632@param knownX - OPTIONAL - The range or values of the independent variables that correspond to knownY.
1633@param newX - OPTIONAL - The range, values, or data-points to return the y-values on the ideal curve fit.
1634@param shouldUseConstant - OPTIONAL - True by default. Given an exponential function y = bm^x, should this function calculate b?
1635@returns {Array}
1636@constructor TODO: Returns RowArray (values stacked in X-direction)
1637```
1638
1639### LINEST
1640
1641```
1642 Returns the parameters of a linear trend.
1643@param dataY - The range of data representing Y values.
1644@param dataX - The range of data representing X values.
1645@returns {number[]}
1646@constructor
1647```
1648## Statistical
1649
1650
1651### DEVSQ
1652
1653```
1654 Calculates the sum of squares of deviations based on a sample.
1655@param values - The values or ranges of the sample.
1656@returns {number} sum of squares of deviations
1657@constructor
1658```
1659
1660### MEDIAN
1661
1662```
1663 Returns the median value in a numeric dataset.
1664@param values - The value(s) or range(s) to consider when calculating the median value.
1665@returns {number} the median value of the dataset
1666@constructor
1667```
1668
1669### AVERAGE
1670
1671```
1672 Returns the numerical average value in a dataset, ignoring text.
1673@param values - The values or ranges to consider when calculating the average value.
1674@returns {number} the average value of this dataset.
1675@constructor
1676```
1677
1678### AVEDEV
1679
1680```
1681 Calculates the average of the magnitudes of deviations of data from a dataset's mean.
1682@param values - The value(s) or range(s)
1683@returns {number} average of the magnitudes of deviations of data from a dataset's mean
1684@constructor
1685```
1686
1687### AVERAGEA
1688
1689```
1690 Returns the numerical average value in a dataset, coercing text values in ranges to 0 values.
1691@param values - value(s) or range(s) to consider when calculating the average value.
1692@returns {number} the numerical average value in a dataset
1693@constructor
1694```
1695
1696### CORREL
1697
1698```
1699 Calculates r, the Pearson product-moment correlation coefficient of a dataset. Any text encountered in the arguments will be ignored. CORREL is synonymous with PEARSON.
1700@param dataY - The range representing the array or matrix of dependent data.
1701@param dataX - The range representing the array or matrix of independent data.
1702@returns {number} the Pearson product-moment correlation coefficient.
1703@constructor
1704```
1705
1706### PEARSON
1707
1708```
1709 Calculates r, the Pearson product-moment correlation coefficient of a dataset. Any text encountered in the arguments will be ignored. PEARSON is synonymous with CORREL.
1710@param dataY - The range representing the array or matrix of dependent data.
1711@param dataX - The range representing the array or matrix of independent data.
1712@returns {number} the Pearson product-moment correlation coefficient.
1713@constructor
1714```
1715
1716### EXPONDIST
1717
1718```
1719 Returns the value of the exponential distribution function with a specified lambda at a specified value.
1720@param x - The input to the exponential distribution function. If cumulative is TRUE then EXPONDIST returns the cumulative probability of all values up to x.
1721@param lambda - The lambda to specify the exponential distribution function.
1722@param cumulative - Whether to use the exponential cumulative distribution.
1723@returns {number} value of the exponential distribution function.
1724@constructor
1725```
1726
1727### IST$LEFTTAILED
1728
1729```
1730 Calculates the left-tailed F probability distribution (degree of diversity) for two data sets with given input x. Alternately called Fisher-Snedecor distribution or Snecdor's F distribution.
1731@param x - The input to the F probability distribution function. The value at which to evaluate the function. Must be a positive number.
1732@param degreesFreedom1 - The numerator degrees of freedom.
1733@param degreesFreedom2 - The denominator degrees of freedom.
1734@param cumulative - Logical value that determines the form of the function. If true returns the cumulative distribution function. If false returns the probability density function.
1735@returns {number|boolean} left-tailed F probability distribution
1736@constructor TODO: This function should be stricter in its return type.
1737```
1738
1739### FINV
1740
1741```
1742 Returns the inverse of the (right-tailed) F probability distribution. If p = FDIST(x,...), then FINV(p,...) = x. The F distribution can be used in an F-test that compares the degree of variability in two data sets.
1743@param probability - A probability associated with the F cumulative distribution.
1744@param degFreedom1 - Required. The numerator degrees of freedom.
1745@param degFreedom2 - Required. The denominator degrees of freedom.
1746@returns {number} inverse of the (right-tailed) F probability distribution
1747@constructor
1748```
1749
1750### FISHER
1751
1752```
1753 Returns the Fisher transformation of a specified value.
1754@param value - The value for which to calculate the Fisher transformation.
1755@returns {number} Fisher transformation
1756@constructor
1757```
1758
1759### FISHERINV
1760
1761```
1762 Returns the inverse Fisher transformation of a specified value.
1763@param value - The value for which to calculate the inverse Fisher transformation.
1764@returns {number} inverse Fisher transformation
1765@constructor
1766```
1767
1768### MAX
1769
1770```
1771 Returns the maximum value in a numeric dataset.
1772@param values - The values or range(s) to consider when calculating the maximum value.
1773@returns {number} the maximum value of the dataset
1774@constructor
1775```
1776
1777### MAXA
1778
1779```
1780 Returns the maximum numeric value in a dataset.
1781@param values - The value(s) or range(s) to consider when calculating the maximum value.
1782@returns {number} maximum value of the dataset
1783@constructor
1784```
1785
1786### MIN
1787
1788```
1789 Returns the minimum value in a numeric dataset.
1790@param values - The value(s) or range(s) to consider when calculating the minimum value.
1791@returns {number} the minimum value of the dataset
1792@constructor
1793```
1794
1795### MINA
1796
1797```
1798 Returns the minimum numeric value in a dataset.
1799@param values - The value(s) or range(s) to consider when calculating the minimum value.
1800@returns {number} the minimum value in the dataset
1801@constructor
1802```
1803
1804### AVERAGEIF
1805
1806```
1807 Returns the average of a range depending on criteria.
1808@param criteriaRange - The range to check against criterion.
1809@param criterion - The pattern or test to apply to criteria_range.
1810@param averageRange - [optional] The range to average. If not included, criteria_range is used for the average instead.
1811@returns {number}
1812@constructor TODO: This needs to also accept a third parameter "average_range"
1813```
1814
1815### COUNT
1816
1817```
1818 Returns the a count of the number of numeric values in a dataset.
1819@param values - The values or ranges to consider when counting.
1820@returns {number} number of numeric values in a dataset.
1821@constructor
1822```
1823
1824### COUNTA
1825
1826```
1827 Returns the a count of the number of values in a dataset.
1828@param values - The values or ranges to consider when counting.
1829@returns {number} number of values in a dataset.
1830@constructor
1831```
1832
1833### PERCENTILE
1834
1835```
1836 Returns the value at a given percentile of a set of data.
1837@param data - The array or range containing the dataset to consider.
1838@param percent - percentile to be calculated and returned.
1839@returns {number}
1840@constructor
1841```
1842
1843### QUARTILE
1844
1845```
1846 Returns a value nearest to a specified quartile of a set of data.
1847@param data - The array or range containing the set of data to consider.
1848@param quartile - Which quartile value to return. 0 returns 0 percent mark, 1 returns 25 percent mark, 2 returns 50 percent mark, 3 returns 75 percent mark, 4 returns 100 percent mark.
1849@constructor
1850```
1851
1852### STDEV
1853
1854```
1855 Calculates the standard deviation of a range, ignoring string values, regardless of whether they can be converted to numbers.
1856@param values - Range of sample.
1857@returns {number}
1858@constructor
1859```
1860
1861### STDEVA
1862
1863```
1864 Calculates the standard deviation of a range, converting string values to numbers, if possible. If a value cannot be converted to a number, formula will throw a value error.
1865@param values - Range of sample.
1866@returns {number}
1867@constructor
1868```
1869
1870### STDEVP
1871
1872```
1873 Calculates the standard deviation of an entire population, ignoring string values, regardless of whether they can be converted to numbers.
1874@param values - Entire sample.
1875@returns {number}
1876@constructor
1877```
1878
1879### STDEVPA
1880
1881```
1882 Calculates the standard deviation of an entire population, including text and boolean values, if possible. If a value cannot be converted to a number, formula will throw a value error.
1883@param values - Entire sample.
1884@returns {number}
1885@constructor
1886```
1887
1888### TRIMMEAN
1889
1890```
1891 Returns the mean value of a range excluding some percentage of the range on the high and low ends of the range.
1892@param range - Array or range to consider.
1893@param percent - The portion of the data to exclude on both ends of the range.
1894@returns {number}
1895@constructor
1896```
1897
1898### SLOPE
1899
1900```
1901 Returns the slope of the line calculated from linear regression of a range. Any text values passed in will be ignored
1902@param rangeY - The range or array representing the dependent data.
1903@param rangeX - The range or array representing the independent data.
1904@constructor
1905```
1906
1907### STANDARDIZE
1908
1909```
1910 Returns the normalized equivalent of a random variable given mean and standard deviation of the distribution.
1911@param value - Value to be standardized.
1912@param meanValue - Arithmetic mean of the distribution
1913@param std - The standard deviation of the distribution or range.
1914@returns {number}
1915@constructor
1916```
1917
1918### SMALL
1919
1920```
1921 Returns the Nth smallest value in the range, ignoring text values.
1922@param range - Range or data-set to consider.
1923@param n - N in 'Nth'.
1924@constructor
1925```
1926
1927### LARGE
1928
1929```
1930 Returns the Nth largest value in the range, ignoring text values.
1931@param range - Range or data-set to consider.
1932@param n - N in 'Nth'.
1933@constructor
1934```
1935
1936### KURT
1937
1938```
1939 Returns the kurtosis of a data set or range. Ignores text values.
1940@param values - data set or range to calculate. Must be at least 4 values.
1941@returns {number}
1942@constructor
1943```
1944
1945### INTERCEPT
1946
1947```
1948 Calculates the y-value at which a line will intersect the y-axis by using known x-values and y-values. Any text values will be ignored.
1949@param rangeY - Dependent range of values.
1950@param rangeX - Independent range of values.
1951@returns {number}
1952@constructor
1953```
1954
1955### FORECAST
1956
1957```
1958 Calculates the a future value using existing x-values and y-values. Any text values will be ignored.
1959@param x - The data point for which you would like to predict the value.
1960@param rangeY - Dependent range of values.
1961@param rangeX - Independent range of values.
1962@returns {number}
1963@constructor TODO: This formula will fail to parse since the first argument is followed by an argument that is an array. TODO (continued) This is a known issue.
1964```
1965
1966### POISSON
1967
1968```
1969 Returns the Poisson distribution for the given number. Functions the same as POISSON.DIST.
1970@param x - Number to use.
1971@param meanValue - The middle value for the Poisson distribution.
1972@param cumulative - [OPTIONAL] - 0 calculates the density function, 1 calculates the distribution. Defaults to 0.
1973@returns {number}
1974@constructor
1975```
1976
1977### PERCENTRANK
1978
1979```
1980 Returns the percentage rank (percentile) of the given value in a sample. Functions the same as PERCENTRANK.INC.
1981@param data - The array or range of data in the sample.
1982@param x - The value.
1983@param significance - [OPTIONAL] - The number of significant digits to use in the calculation. Defaults to 3.
1984@returns {number}
1985@constructor
1986```
1987
1988### ERCENTRANK$EXC
1989
1990```
1991 Returns the percentage rank (percentile) from 0 to 1 exclusive for a value in a sample.
1992@param data - The array or range of data in the sample.
1993@param x - The value
1994@param significance - [OPTIONAL] - The number of significant digits to use in the calculation. Defaults to 3.
1995@returns {number}
1996@constructor
1997```
1998
1999### NORMSINV
2000
2001```
2002 Returns the inverse of the standard normal distribution for the given number.
2003@param probability - The probability value.
2004@returns {number}
2005@constructor
2006```
2007
2008### NORMSDIST
2009
2010```
2011 Returns the standard normal cumulative distribution for the given number.
2012@param z - Value to use in calculation.
2013@returns {number}
2014@constructor
2015```
2016
2017### NORMDIST
2018
2019```
2020 Returns the normal distribution for the given number in the distribution.
2021@param x - Value to use.
2022@param meanValue - The mean value of the distribution.
2023@param standDev - The standard deviation of the distribution.
2024@param cumulative - 0 calculates the density function, 1 calculates the distribution.
2025@returns {number}
2026@constructor
2027```
2028
2029### NORMINV
2030
2031```
2032 Returns the inverse of the normal distribution for the given number in the distribution.
2033@param probability - Number in the distribution.
2034@param meanVal - The mean value in the normal distribution.
2035@param standDev - The standard deviation of the normal distribution.
2036@returns {number}
2037@constructor
2038```
2039
2040### NEGBINOMDIST
2041
2042```
2043 Returns the negative binomial distribution.
2044@param k - The value returned for unsuccessful tests.
2045@param r - The value returned for successful tests.
2046@param p - The probability of the success of an attempt, between 0 and 1 inclusively.
2047@returns {number}
2048@constructor
2049```
2050
2051### GEOMEAN
2052
2053```
2054 Returns the geometric mean of a sample.
2055@param values - The numerical arguments or ranges that represent a random sample.
2056@returns {number}
2057@constructor
2058```
2059
2060### HARMEAN
2061
2062```
2063 Returns the harmonic mean of a data set.
2064@param values - The numerical arguments or ranges that represent a sample.
2065@returns {number}
2066@constructor
2067```
2068
2069### CONFIDENCE
2070
2071```
2072 Returns the (1-alpha) confidence interval for a normal distribution.
2073@param alpha - The level of the confidence interval
2074@param standDev - The standard deviation for the total population
2075@param size - The size of the population.
2076@returns {number}
2077@constructor
2078```
2079
2080### BINOMDIST
2081
2082```
2083 Returns the individual term binomial distribution probability.
2084@param successes - The number of successes in a set of trials.
2085@param trials - The number of independent trials.
2086@param probability - The probability of success on each trial.
2087@param cumulative - 0 calculates the probability of a single event, 1 calculates the cumulative probability.
2088@returns {number}
2089@constructor
2090```
2091
2092### COVAR
2093
2094```
2095 Returns the covariance of the product of paired deviations.
2096@param dataY - The first range of data.
2097@param dataX - The second range of data.
2098@returns {number}
2099@constructor
2100```
2101
2102### WEIBULL
2103
2104```
2105 Returns the values of the Weibull distribution for the given number.
2106@param x - Number to use in calculation.
2107@param shape - The Alpha parameter of the Weibull distribution. Should be greater than 0.
2108@param scale - The Beta parameter of the Weibull distribution. Should be greater than 0.
2109@param cumulative - Indicates the type of function: If 0 the form of the function is calculated, if 1 then the distribution is calculated.
2110@returns {number}
2111@constructor
2112```
2113
2114### VARPA
2115
2116```
2117 Estimate the variance based on the entire population. Text will be converted to numbers, if possible.
2118@param values - Values of population.
2119@returns {number}
2120@constructor
2121```
2122
2123### VARP
2124
2125```
2126 Estimate the variance based on the entire population.
2127@param values - Values of entire population.
2128@returns {number}
2129@constructor
2130```
2131
2132### VARA
2133
2134```
2135 Estimate the variance based on a sample.
2136@param values
2137@returns {number}
2138@constructor
2139```
2140
2141### VAR
2142
2143```
2144 Estimate the variance based on a sample.
2145@param values - Values in sample.
2146@constructor
2147```
2148
2149### PERMUT
2150
2151```
2152 Returns the number of permutations for a given number of objects.
2153@param total - The total number of objects
2154@param objects - The number of objects in each permutation.
2155@returns {number}
2156@constructor
2157```
2158
2159### RSQ
2160
2161```
2162 Returns the square of the Pearson correlation coefficient based on the given values.
2163@param rangeY - An array or range of data points.
2164@param rangeX - An array or range of data points.
2165@returns {number}
2166@constructor
2167```
2168
2169### SKEW
2170
2171```
2172 Returns the skewness of a distribution.
2173@param values - The numerical values or range.
2174@returns {number}
2175@constructor
2176```
2177
2178### STEYX
2179
2180```
2181 Returns the standard error of the predicted y value for each x in the regression. Text values will be ignored.
2182@param rangeY - An array or range of data points.
2183@param rangeX - An array or range of data points.
2184@returns {number}
2185@constructor
2186```
2187
2188### PROB
2189
2190```
2191 Returns the probability that values in a range are between two limits. Data is the array or range of data in the ample.
2192@param range - The array or range of data in the sample.
2193@param probability - The array or range of the corresponding probabilities
2194@param start - The start value of the interval whose probabilities are to be summed.
2195@param end - [OPTIONAL] - The end value of the interval whose probabilities are to be summed. If this parameter is missing, the probability for the start value is calculated
2196@returns {number}
2197@constructor
2198```
2199
2200### MODE
2201
2202```
2203 Returns the most commonly occurring value in a range.
2204@param values - Range(s) or values to consider.
2205@returns {number}
2206@constructor
2207```
2208
2209### RANK
2210
2211```
2212 Returns the position of a given entry in the entire list, measured either from top to bottom or bottom to top.
2213@param value - Value to find the rank of.
2214@param data - Values or range of the data-set.
2215@param isAscending - [OPTIONAL] The type of rank: 0 to rank from the highest, 1 to rank from the lowest. Defaults to 0.
2216@returns {number}
2217@constructor
2218```
2219
2220### RANK$AVG
2221
2222```
2223 Returns the position of a given entry in the entire list, measured either from top to bottom or bottom to top. If more than one value exists in the same data-set, the average range of the values will be returned.
2224@param value - Value to find the rank of.
2225@param data - Values or range of the data-set.
2226@param isAscending - [OPTIONAL] The type of rank: 0 to rank from the highest, 1 to rank from the lowest. Defaults to 0.
2227@returns {number}
2228@constructor
2229```
2230
2231### RANK$EQ
2232
2233```
2234 Returns the position of a given entry in the entire list, measured either from top to bottom or bottom to top. If there is more than one entry of the same value in the dataset, the top rank of the entries will be returned.
2235@param value - Value to find the rank of.
2236@param data - Values or range of the data-set.
2237@param isAscending - [OPTIONAL] The type of rank: 0 to rank from the highest, 1 to rank from the lowest. Defaults to 0.
2238@returns {number}
2239@constructor
2240```
2241
2242### LOGNORMDIST
2243
2244```
2245 Returns the cumulative lognormal distribution for the given number.
2246@param x - The probability value.
2247@param meanValue - The mean value of the standard logarithmic distribution.
2248@param standardDev - The standard deviation of the standard logarithmic distribution.
2249@returns {number}
2250@constructor
2251```
2252
2253### TDIST
2254
2255```
2256 Returns the t-distribution for the given number.
2257@param x - Value to use in calculation.
2258@param degreesOfFreedom - The number of degrees of freedom for the t-distribution.
2259@param tails - 1 returns the one-tailed test, 2 returns the two-tailed test.
2260@returns {number}
2261@constructor
2262```
2263
2264### HYPGEOMDIST
2265
2266```
2267 Returns the hypergeometric distribution. X is the number of results achieved in the random sample.
2268@param numberOfSuccesses - The number of results achieved in the random sample.
2269@param numberOfDraws - The size of the random sample.
2270@param successesInPop - The number of possible results in the total population.
2271@param populationSize - The size of the total population.
2272@returns {number}
2273@constructor
2274```
2275
2276### ZTEST
2277
2278```
2279 Returns the two-tailed P value of a z test with standard distribution.
2280@param range - Te array of the data.
2281@param value - The value to be tested.
2282@param stdDev - [OPTIONAL] The standard deviation of the total population. If this argument is missing, the standard deviation of the sample is processed.
2283@returns {number}
2284@constructor
2285```
2286## Text
2287
2288
2289### ARABIC
2290
2291```
2292 Computes the value of a Roman numeral.
2293@param text - The Roman numeral to format, whose value must be between 1 and 3999, inclusive.
2294@returns {number} value in integer format
2295@constructor
2296```
2297
2298### CHAR
2299
2300```
2301 Convert a number into a character according to the current Unicode table.
2302@param value - The number of the character to look up from the current Unicode table in decimal format.
2303@returns {string} character corresponding to Unicode number
2304@constructor
2305```
2306
2307### CODE
2308
2309```
2310 Returns the numeric Unicode map value of the first character in the string provided.
2311@param value - The string whose first character's Unicode map value will be returned.
2312@returns {number} number of the first character's Unicode value
2313@constructor
2314```
2315
2316### SPLIT
2317
2318```
2319 Divides text around a specified character or string, and puts each fragment into a separate cell in the row.
2320@param text - The text to divide.
2321@param delimiter - The character or characters to use to split text.
2322@param splitByEach - [optional] Whether or not to divide text around each character contained in delimiter.
2323@returns {Array<string>} containing the split
2324@constructor TODO: At some point this needs to return a more complex type than Array. Needs to return a type that has a dimension.
2325```
2326
2327### CONCATENATE
2328
2329```
2330 Appends strings to one another.
2331@param values - to append to one another. Must contain at least one value
2332@returns {string} concatenated string
2333@constructor
2334```
2335
2336### CONVERT
2337
2338```
2339 Converts a numeric value to a different unit of measure.
2340@param value - the numeric value in start_unit to convert to end_unit.
2341@param startUnit - The starting unit, the unit currently assigned to value.
2342@param endUnit - The unit of measure into which to convert value.
2343@returns {number}
2344@constructor TODO: Looking up units is not efficient at all. We should use an object instead of iterating through an array.
2345```
2346
2347### TRIM
2348
2349```
2350 Removes leading and trailing spaces in a specified string.
2351@param value - The string or reference to a cell containing a string to be trimmed.
2352@returns {string}
2353@constructor
2354```
2355
2356### LOWER
2357
2358```
2359 Converts text to lowercase.
2360@param value - Text to convert.
2361@constructor
2362```
2363
2364### UPPER
2365
2366```
2367 Converts text to uppercase.
2368@param value - Text to convert.
2369@constructor
2370```
2371
2372### T
2373
2374```
2375 Returns string arguments as text, or the empty string if the value is not text.
2376@param value - Value to return.
2377@constructor
2378```
2379
2380### ROMAN
2381
2382```
2383 Converts a number into a Roman numeral.
2384@param value - The value to convert. Must be between 0 and 3999.
2385@constructor TODO: Second parameter should be 'rule_relaxation'.
2386```
2387
2388### TEXT
2389
2390```
2391 Converts a number into text according to a given format.
2392@param value - The value to be converted.
2393@param format - Text which defines the format. "0" forces the display of zeros, while "#" suppresses the display of zeros. For example TEXT(22.1,"000.00") produces 022.10, while TEXT(22.1,"###.##") produces 22.1, and TEXT(22.405,"00.00") results in 22.41. To format days: "dddd" indicates full name of the day of the week, "ddd" hort name of the day of the week, "dd" indicates the day of the month as two digits, "d" indicates day of the month as one or two digits, "mmmmm" indicates the first letter in the month of the year, "mmmm" indicates the full name of the month of the year, "mmm" indicates short name of the month of the year, "mm" indicates month of the year as two digits or the number of minutes in a time, depending on whether it follows yy or dd, or if it follows hh, "m" month of the year as one or two digits or the number of minutes in a time, depending on whether it follows yy or dd, or if it follows hh, "yyyy" indicates year as four digits, "yy" and "y" indicate year as two digits, "hh" indicates hour on a 24-hour clock, "h" indicates hour on a 12-hour clock, "ss.000" indicates milliseconds in a time, "ss" indicates econds in a time, "AM/PM" or "A/P" indicate displaying hours based on a 12-hour clock and showing AM or PM depending on the time of day. Eg: `TEXT("01/09/2012 10:04:33AM", "mmmm-dd-yyyy, hh:mm AM/PM")` would result in "January-09-2012, 10:04 AM".
2394@constructor
2395```
2396
2397###
2398
2399```
2400 Converts a number into text according to a given format.
2401@param value - The value to be converted.
2402@param format - Text which defines the format. "0" forces the display of zeros, while "#" suppresses the display of zeros. For example TEXT(22.1,"000.00") produces 022.10, while TEXT(22.1,"###.##") produces 22.1, and TEXT(22.405,"00.00") results in 22.41. To format days: "dddd" indicates full name of the day of the week, "ddd" hort name of the day of the week, "dd" indicates the day of the month as two digits, "d" indicates day of the month as one or two digits, "mmmmm" indicates the first letter in the month of the year, "mmmm" indicates the full name of the month of the year, "mmm" indicates short name of the month of the year, "mm" indicates month of the year as two digits or the number of minutes in a time, depending on whether it follows yy or dd, or if it follows hh, "m" month of the year as one or two digits or the number of minutes in a time, depending on whether it follows yy or dd, or if it follows hh, "yyyy" indicates year as four digits, "yy" and "y" indicate year as two digits, "hh" indicates hour on a 24-hour clock, "h" indicates hour on a 12-hour clock, "ss.000" indicates milliseconds in a time, "ss" indicates econds in a time, "AM/PM" or "A/P" indicate displaying hours based on a 12-hour clock and showing AM or PM depending on the time of day. Eg: `TEXT("01/09/2012 10:04:33AM", "mmmm-dd-yyyy, hh:mm AM/PM")` would result in "January-09-2012, 10:04 AM".
2403@constructor if (format.match(/^.(d|D|M|m|yy|Y|HH|hh|h|s|S|AM|PM|am|pm|A\/P|\).$/g)) { const POUND_SIGN_FORMAT_CAPTURE = /^([$
2404```
2405
2406### FIND
2407
2408```
2409 Looks for a string of text within another string. Where to begin the search can also be defined. The search term can be a number or any string of characters. The search is case-sensitive.
2410@param searchFor - The text to be found.
2411@param searchIn - The text where the search takes place.
2412@param startAt - [OPTIONAL defaults to 1] - The position in the text from which the search starts.
2413@returns {number}
2414@constructor
2415```
2416
2417### JOIN
2418
2419```
2420 Concatenates the values of one or more arrays using a specified delimiter.
2421@param delimiter - The string to place between the values.
2422@param values - The values to be appended using the delimiter.
2423@returns {string}
2424@constructor
2425```
2426
2427### LEN
2428
2429```
2430 Returns the length of a string including spaces.
2431@param value - The text whose length is to be determined.
2432@constructor
2433```
2434
2435### LEFT
2436
2437```
2438 Returns the first character or characters in a text string.
2439@param text - The text where the initial partial words are to be determined.
2440@param numberOfCharacters [OPTIONAL] - The number of characters for the start text. If this parameter is not defined, one character is returned.
2441@returns {string}
2442@constructor
2443```
2444
2445### RIGHT
2446
2447```
2448 Defines the last character or characters in a text string.
2449@param text - The text where the initial partial words are to be determined.
2450@param numberOfCharacters [OPTIONAL] - The number of characters for the start text. If this parameter is not defined, one character is returned.
2451@returns {string}
2452@constructor
2453```
2454
2455### SEARCH
2456
2457```
2458 Returns the position of a text segment within a character string. The start of the search can be set as an option. The search text can be a number or any sequence of characters. The search is not case-sensitive.
2459@param findText - The text to be searched for.
2460@param withinText - The text where the search will take place
2461@param position - [OPTIONAL default 1] The position in the text where the search is to start.
2462@constructor
2463```
2464
2465### REPT
2466
2467```
2468 Repeats a character string by the given number of copies.
2469@param text - The text to be repeated.
2470@param numberOfReps - The number of repetitions
2471@constructor
2472```
2473
2474### VALUE
2475
2476```
2477 Converts a value into a number if possible.
2478@param value - The value to convert to a number.
2479@returns {number}
2480@constructor
2481```
2482
2483### CLEAN
2484
2485```
2486 Removes all non-printing characters from the string.
2487@param text - The text from which to remove all non-printable characters.
2488@returns {string}
2489@constructor
2490```
2491
2492### MID
2493
2494```
2495 Returns a text segment of a character string. The parameters specify the starting position and the number of characters.
2496@param text - The text containing the characters to extract.
2497@param start - The position of the first character in the text to extract.
2498@param number - The number of characters in the part of the text.
2499@returns {string}
2500@constructor
2501```
2502
2503### REPLACE
2504
2505```
2506 Replaces part of a text string with a different text string. This function can be used to replace both characters and numbers (which are automatically converted to text). The result of the function is always displayed as text.
2507@param text - The text of which a part will be replaced.
2508@param position - The position within the text where the replacement will begin.
2509@param length - The number of characters in text to be replaced.
2510@param newText - The text which replaces text.
2511@constructor
2512```
2513
2514### SUBSTITUTE
2515
2516```
2517 Substitutes new text for old text in a string.
2518@param text - The text in which text segments are to be exchanged.
2519@param searchFor - The text segment that is to be replaced (a number of times)
2520@param replaceWith - The text that is to replace the text segment.
2521@param occurrence - [OPTIONAL] - Indicates how many occurrences of the search text are to be replaced. If this parameter is missing, the search text is replaced throughout.
2522@returns {string}
2523@constructor
2524```