spreadsheet
typeScript/javascript spreadsheet parser, with formulas.
git clone https://git.vogt.world/spreadsheet.git
Log | Files | README.md
← All files
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```