# Built-in functions

<!--
The below dummy div uses a CSS class to alter the .page layout for the current page without any additional customization of VuePress.
It makes the page wider to accommodate large tables
-->
<div class="widePage"></div>

## Overview

HyperFormula comes with an extensive library of pre-built functions. You can use
them to create complex formulas for any business application. Formula syntax and
logic of function are similar to what is considered the standard in modern
spreadsheet software. That is because a spreadsheet is probably the most
universal software ever created. We wanted the same flexibility for HyperFormula
but without the constraints of the spreadsheet UI.

Each of HyperFormula's built-in function names is available in [17 languages](localizing-functions.md#list-of-supported-languages) and [custom language packs](localizing-functions.md) can be added.

The latest version of HyperFormula has an extensive collection of
**423** functions grouped into categories:

<!-- Generated by `npm run docs:generate-function-docs`: one bullet per section rendered below, from the same pass.
     Do not hand-edit between these markers; edit the function metadata in src/ and regenerate. -->
<!-- AUTOGENERATED:CATEGORIES:START -->
- [Array manipulation](#array-manipulation)
- [Database](#database)
- [Date and time](#date-and-time)
- [Engineering](#engineering)
- [Financial](#financial)
- [Information](#information)
- [Logical](#logical)
- [Lookup and reference](#lookup-and-reference)
- [Math and trigonometry](#math-and-trigonometry)
- [Matrix functions](#matrix-functions)
- [Operator](#operator)
- [Statistical](#statistical)
- [Text](#text)

<!-- AUTOGENERATED:CATEGORIES:END -->

_Some categories such as compatibility and cube are yet to be supported._

> You can modify the built-in functions or create your own, by adding a [custom function](custom-functions.md).

## List of available functions

Total number of functions: **423**

<!-- Generated by `npm run docs:generate-function-docs` from HyperFormula's getAvailableFunctions/getFunctionDetails.
     Do not hand-edit between these markers; edit the function metadata in src/ and regenerate. -->
<!-- AUTOGENERATED:FUNCTIONS:START -->
### Array manipulation

| Function ID | Description | Syntax |
|:---|:---|:---|
| <a id="ARRAY_CONSTRAIN"></a>ARRAY_CONSTRAIN | Truncates an array to given dimensions. | ARRAY_CONSTRAIN(array, height, width) |
| <a id="ARRAYFORMULA"></a>ARRAYFORMULA | Enables the array arithmetic mode for a single formula. | ARRAYFORMULA(formula) |
| <a id="FILTER"></a>FILTER | Filters an array, based on multiple conditions (boolean arrays). | FILTER(source_array, bool_array1, ...) |
| <a id="HSTACK"></a>HSTACK | Stacks arrays horizontally into a single array. | HSTACK(array1, ...) |
| <a id="SEQUENCE"></a>SEQUENCE | Returns an array of sequential numbers. | SEQUENCE(rows, [cols], [start], [step]) |
| <a id="SORT"></a>SORT | Sorts the rows or columns of an array. | SORT(array, [sort_index], [sort_order], [by_col]) |
| <a id="UNIQUE"></a>UNIQUE | Returns the unique rows or columns of an array. | UNIQUE(array, [by_col], [exactly_once]) |
| <a id="VSTACK"></a>VSTACK | Stacks arrays vertically into a single array. | VSTACK(array1, ...) |

### Database

| Function ID | Description | Syntax |
|:---|:---|:---|
| <a id="DAVERAGE"></a>DAVERAGE | Returns the average of all values in a database field that match the given criteria. | DAVERAGE(database, field, criteria) |
| <a id="DCOUNT"></a>DCOUNT | Counts the cells containing numbers in a database field that match the given criteria. | DCOUNT(database, field, criteria) |
| <a id="DCOUNTA"></a>DCOUNTA | Counts the non-empty cells in a database field that match the given criteria. | DCOUNTA(database, field, criteria) |
| <a id="DGET"></a>DGET | Returns the single value from a database field that matches the given criteria. Returns #VALUE! if no records match, and #NUM! if more than one record matches. | DGET(database, field, criteria) |
| <a id="DMAX"></a>DMAX | Returns the maximum value in a database field that matches the given criteria. | DMAX(database, field, criteria) |
| <a id="DMIN"></a>DMIN | Returns the minimum value in a database field that matches the given criteria. | DMIN(database, field, criteria) |
| <a id="DPRODUCT"></a>DPRODUCT | Returns the product of all values in a database field that match the given criteria. | DPRODUCT(database, field, criteria) |
| <a id="DSTDEV"></a>DSTDEV | Returns the sample standard deviation of all values in a database field that match the given criteria. | DSTDEV(database, field, criteria) |
| <a id="DSTDEVP"></a>DSTDEVP | Returns the population standard deviation of all values in a database field that match the given criteria. | DSTDEVP(database, field, criteria) |
| <a id="DSUM"></a>DSUM | Returns the sum of all values in a database field that match the given criteria. | DSUM(database, field, criteria) |
| <a id="DVAR"></a>DVAR | Returns the sample variance of all values in a database field that match the given criteria. | DVAR(database, field, criteria) |
| <a id="DVARP"></a>DVARP | Returns the population variance of all values in a database field that match the given criteria. | DVARP(database, field, criteria) |

### Date and time

| Function ID | Description | Syntax |
|:---|:---|:---|
| <a id="DATE"></a>DATE | Returns the specified date as the number of full days since [`nullDate`](https://hyperformula.handsontable.com/docs/api/interfaces/configparams.html#nulldate). | DATE(year, month, day) |
| <a id="DATEDIF"></a>DATEDIF | Calculates distance between two dates.<br>Supported units: "D" (days), "M" (months), "Y" (years), "MD" (days ignoring months and years), "YM" (months ignoring years), or "YD" (days ignoring years). | DATEDIF(start_date, end_date, unit) |
| <a id="DATEVALUE"></a>DATEVALUE | Parses date_string and returns it as the number of full days since [`nullDate`](https://hyperformula.handsontable.com/docs/api/interfaces/configparams.html#nulldate).<br>Accepts formats set by the [`dateFormats`](https://hyperformula.handsontable.com/docs/api/interfaces/configparams.html#dateformats) option. | DATEVALUE(date_string) |
| <a id="DAY"></a>DAY | Returns the day of the given date value. | DAY(number) |
| <a id="DAYS"></a>DAYS | Calculates the difference between two date values. | DAYS(end_date, start_date) |
| <a id="DAYS360"></a>DAYS360 | Calculates the difference between two date values in days, in 360-day basis. | DAYS360(start_date, end_date, [format]) |
| <a id="EDATE"></a>EDATE | Shifts start_date by the given number of months and returns it as the number of full days since [`nullDate`](https://hyperformula.handsontable.com/docs/api/interfaces/configparams.html#nulldate).<br>The return value complies with the OpenDocument standard, but the return type does not; see the [compatibility notes](https://hyperformula.handsontable.com/docs/guide/list-of-differences.html). | EDATE(start_date, months) |
| <a id="EOMONTH"></a>EOMONTH | Returns the date of the last day of the month that falls the given number of months away from start_date. Returns the value in the form of number of full days since [`nullDate`](https://hyperformula.handsontable.com/docs/api/interfaces/configparams.html#nulldate).<br>The return value complies with the OpenDocument standard, but the return type does not; see the [compatibility notes](https://hyperformula.handsontable.com/docs/guide/list-of-differences.html). | EOMONTH(start_date, months) |
| <a id="HOUR"></a>HOUR | Returns hour component of given time. | HOUR(time) |
| <a id="INTERVAL"></a>INTERVAL | Returns interval string from given number of seconds. | INTERVAL(seconds) |
| <a id="ISOWEEKNUM"></a>ISOWEEKNUM | Returns an ISO week number that corresponds to the week of year. | ISOWEEKNUM(date) |
| <a id="MINUTE"></a>MINUTE | Returns minute component of given time. | MINUTE(time) |
| <a id="MONTH"></a>MONTH | Returns the month for the given date value. | MONTH(number) |
| <a id="NETWORKDAYS"></a>NETWORKDAYS | Returns the number of working days between two given dates. | NETWORKDAYS(date1, date2, [holidays]) |
| <a id="NETWORKDAYS.INTL"></a>NETWORKDAYS.INTL | Returns the number of working days between two given dates, with a configurable set of weekend days. | NETWORKDAYS.INTL(date1, date2, [mode], [holidays]) |
| <a id="NOW"></a>NOW | Returns current date + time as a number of days since [`nullDate`](https://hyperformula.handsontable.com/docs/api/interfaces/configparams.html#nulldate). | NOW() |
| <a id="SECOND"></a>SECOND | Returns second component of given time. | SECOND(time) |
| <a id="TIME"></a>TIME | Returns the number that represents a given time as a fraction of full day. | TIME(hour, minute, second) |
| <a id="TIMEVALUE"></a>TIMEVALUE | Parses time_string and returns a number that represents it as a fraction of a full day.<br>Accepts formats set by the [`timeFormats`](https://hyperformula.handsontable.com/docs/api/interfaces/configparams.html#timeformats) option. | TIMEVALUE(time_string) |
| <a id="TODAY"></a>TODAY | Returns an integer representing the current date as the number of full days since [`nullDate`](https://hyperformula.handsontable.com/docs/api/interfaces/configparams.html#nulldate). | TODAY() |
| <a id="WEEKDAY"></a>WEEKDAY | Computes a number between 1-7 representing the day of week. | WEEKDAY(date, [type]) |
| <a id="WEEKNUM"></a>WEEKNUM | Returns a week number that corresponds to the week of year. | WEEKNUM(date, [type]) |
| <a id="WORKDAY"></a>WORKDAY | Returns the date a given number of working days after the start date, skipping Saturdays and Sundays. | WORKDAY(date, shift, [holidays]) |
| <a id="WORKDAY.INTL"></a>WORKDAY.INTL | Returns the date a given number of working days after the start date, with a configurable set of weekend days. | WORKDAY.INTL(date, shift, [mode], [holidays]) |
| <a id="YEAR"></a>YEAR | Returns the year as a number according to the internal calculation rules. | YEAR(number) |
| <a id="YEARFRAC"></a>YEARFRAC | Computes the difference between two date values, in fraction of years. | YEARFRAC(start_date, end_date, [format]) |

### Engineering

| Function ID | Description | Syntax |
|:---|:---|:---|
| <a id="BESSELI"></a>BESSELI | Returns the value of the modified Bessel function of the first kind, In(x). | BESSELI(x, n) |
| <a id="BESSELJ"></a>BESSELJ | Returns the value of the Bessel function of the first kind, Jn(x). | BESSELJ(x, n) |
| <a id="BESSELK"></a>BESSELK | Returns the value of the modified Bessel function of the second kind, Kn(x). | BESSELK(x, n) |
| <a id="BESSELY"></a>BESSELY | Returns the value of the Bessel function of the second kind, Yn(x). | BESSELY(x, n) |
| <a id="BIN2DEC"></a>BIN2DEC | The result is the decimal number for the binary number entered. | BIN2DEC(number) |
| <a id="BIN2HEX"></a>BIN2HEX | The result is the hexadecimal number for the binary number entered. | BIN2HEX(number, [places]) |
| <a id="BIN2OCT"></a>BIN2OCT | The result is the octal number for the binary number entered. | BIN2OCT(number, [places]) |
| <a id="BITAND"></a>BITAND | Returns a bitwise logical "and" of the parameters. | BITAND(number1, number2) |
| <a id="BITLSHIFT"></a>BITLSHIFT | Shifts a number left by n bits. | BITLSHIFT(number, shift) |
| <a id="BITOR"></a>BITOR | Returns a bitwise logical "or" of the parameters. | BITOR(number1, number2) |
| <a id="BITRSHIFT"></a>BITRSHIFT | Shifts a number right by n bits. | BITRSHIFT(number, shift) |
| <a id="BITXOR"></a>BITXOR | Returns a bitwise logical "exclusive or" of the parameters. | BITXOR(number1, number2) |
| <a id="COMPLEX"></a>COMPLEX | Returns a complex number built from its real and imaginary parts. | COMPLEX(re, im, [symbol]) |
| <a id="DEC2BIN"></a>DEC2BIN | Returns the binary number for the decimal number entered between –512 and 511. | DEC2BIN(number, [places]) |
| <a id="DEC2HEX"></a>DEC2HEX | Returns the hexadecimal number for the decimal number entered. | DEC2HEX(number, [places]) |
| <a id="DEC2OCT"></a>DEC2OCT | Returns the octal number for the decimal number entered. | DEC2OCT(number, [places]) |
| <a id="DELTA"></a>DELTA | Returns TRUE (1) if both numbers are equal, otherwise returns FALSE (0). | DELTA(number1, [number2]) |
| <a id="ERF"></a>ERF | Returns values of the Gaussian error integral. | ERF(lower_limit, [upper_limit]) |
| <a id="ERFC"></a>ERFC | Returns complementary values of the Gaussian error integral between x and infinity. | ERFC(lower_limit) |
| <a id="HEX2BIN"></a>HEX2BIN | The result is the binary number for the hexadecimal number entered. | HEX2BIN(number, [places]) |
| <a id="HEX2DEC"></a>HEX2DEC | The result is the decimal number for the hexadecimal number entered. | HEX2DEC(number) |
| <a id="HEX2OCT"></a>HEX2OCT | The result is the octal number for the hexadecimal number entered. | HEX2OCT(number, [places]) |
| <a id="IMABS"></a>IMABS | Returns modulus of a complex number. | IMABS(complex) |
| <a id="IMAGINARY"></a>IMAGINARY | Returns imaginary part of a complex number. | IMAGINARY(complex) |
| <a id="IMARGUMENT"></a>IMARGUMENT | Returns argument of a complex number. | IMARGUMENT(complex) |
| <a id="IMCONJUGATE"></a>IMCONJUGATE | Returns conjugate of a complex number. | IMCONJUGATE(complex) |
| <a id="IMCOS"></a>IMCOS | Returns cosine of a complex number. | IMCOS(complex) |
| <a id="IMCOSH"></a>IMCOSH | Returns hyperbolic cosine of a complex number. | IMCOSH(complex) |
| <a id="IMCOT"></a>IMCOT | Returns cotangent of a complex number. | IMCOT(complex) |
| <a id="IMCSC"></a>IMCSC | Returns cosecant of a complex number. | IMCSC(complex) |
| <a id="IMCSCH"></a>IMCSCH | Returns hyperbolic cosecant of a complex number. | IMCSCH(complex) |
| <a id="IMDIV"></a>IMDIV | Divides two complex numbers. | IMDIV(complex1, complex2) |
| <a id="IMEXP"></a>IMEXP | Returns exponent of a complex number. | IMEXP(complex) |
| <a id="IMLN"></a>IMLN | Returns natural logarithm of a complex number. | IMLN(complex) |
| <a id="IMLOG10"></a>IMLOG10 | Returns base-10 logarithm of a complex number. | IMLOG10(complex) |
| <a id="IMLOG2"></a>IMLOG2 | Returns binary logarithm of a complex number. | IMLOG2(complex) |
| <a id="IMPOWER"></a>IMPOWER | Returns a complex number raised to a given power. | IMPOWER(complex, number) |
| <a id="IMPRODUCT"></a>IMPRODUCT | Multiplies complex numbers. | IMPRODUCT(complex1, ...) |
| <a id="IMREAL"></a>IMREAL | Returns real part of a complex number. | IMREAL(complex) |
| <a id="IMSEC"></a>IMSEC | Returns the secant of a complex number. | IMSEC(complex) |
| <a id="IMSECH"></a>IMSECH | Returns the hyperbolic secant of a complex number. | IMSECH(complex) |
| <a id="IMSIN"></a>IMSIN | Returns sine of a complex number. | IMSIN(complex) |
| <a id="IMSINH"></a>IMSINH | Returns hyperbolic sine of a complex number. | IMSINH(complex) |
| <a id="IMSQRT"></a>IMSQRT | Returns a square root of a complex number. | IMSQRT(complex) |
| <a id="IMSUB"></a>IMSUB | Subtracts two complex numbers. | IMSUB(complex1, complex2) |
| <a id="IMSUM"></a>IMSUM | Adds complex numbers. | IMSUM(complex1, ...) |
| <a id="IMTAN"></a>IMTAN | Returns the tangent of a complex number. | IMTAN(complex) |
| <a id="OCT2BIN"></a>OCT2BIN | The result is the binary number for the octal number entered. | OCT2BIN(number, [places]) |
| <a id="OCT2DEC"></a>OCT2DEC | The result is the decimal number for the octal number entered. | OCT2DEC(number) |
| <a id="OCT2HEX"></a>OCT2HEX | The result is the hexadecimal number for the octal number entered. | OCT2HEX(number, [places]) |

### Financial

| Function ID | Description | Syntax |
|:---|:---|:---|
| <a id="CUMIPMT"></a>CUMIPMT | Returns the cumulative interest paid on a loan between a start period and an end period. | CUMIPMT(rate, nper, pv, start, end, type) |
| <a id="CUMPRINC"></a>CUMPRINC | Returns the cumulative principal paid on a loan between a start period and an end period. | CUMPRINC(rate, nper, pv, start, end, type) |
| <a id="DB"></a>DB | Returns the depreciation of an asset for a period using the fixed-declining balance method. | DB(cost, salvage, life, period, [month]) |
| <a id="DDB"></a>DDB | Returns the depreciation of an asset for a period using the double-declining balance method. | DDB(cost, salvage, life, period, [factor]) |
| <a id="DOLLARDE"></a>DOLLARDE | Converts a price entered with a special notation to a price displayed as a decimal number. | DOLLARDE(price, fraction) |
| <a id="DOLLARFR"></a>DOLLARFR | Converts a price displayed as a decimal number to a price entered with a special notation. | DOLLARFR(price, fraction) |
| <a id="EFFECT"></a>EFFECT | Calculates the effective annual interest rate from a nominal interest rate and the number of compounding periods per year. | EFFECT(nominal_rate, npery) |
| <a id="FV"></a>FV | Returns the future value of an investment. | FV(rate, nper, pmt, [pv], [type]) |
| <a id="FVSCHEDULE"></a>FVSCHEDULE | Returns the future value of an investment based on a rate schedule. | FVSCHEDULE(pv, schedule) |
| <a id="IPMT"></a>IPMT | Returns the interest portion of a given loan payment in a given payment period. | IPMT(rate, per, nper, pv, [fv], [type]) |
| <a id="IRR"></a>IRR | Returns the internal rate of return for a series of cash flows. | IRR(values, [guess]) |
| <a id="ISPMT"></a>ISPMT | Returns the interest paid for a given period of an investment with equal principal payments. | ISPMT(rate, per, nper, value) |
| <a id="MIRR"></a>MIRR | Returns the modified internal rate of return for a series of cash flows. | MIRR(flows, f_rate, r_rate) |
| <a id="NOMINAL"></a>NOMINAL | Returns the nominal interest rate. | NOMINAL(effect_rate, npery) |
| <a id="NPER"></a>NPER | Returns the number of periods for an investment assuming periodic, constant payments and a constant interest rate. | NPER(rate, pmt, pv, [fv], [type]) |
| <a id="NPV"></a>NPV | Returns net present value. | NPV(rate, value1, ...) |
| <a id="PDURATION"></a>PDURATION | Returns number of periods to reach specific value. | PDURATION(rate, pv, fv) |
| <a id="PMT"></a>PMT | Returns the periodic payment for a loan. | PMT(rate, nper, pv, [fv], [type]) |
| <a id="PPMT"></a>PPMT | Calculates the principal portion of a given loan payment. | PPMT(rate, per, nper, pv, [fv], [type]) |
| <a id="PV"></a>PV | Returns the present value of an investment. | PV(rate, nper, pmt, [fv], [type]) |
| <a id="RATE"></a>RATE | Returns the interest rate per period of an annuity. | RATE(nper, pmt, pv, [fv], [type], [guess]) |
| <a id="RRI"></a>RRI | Returns an equivalent interest rate for the growth of an investment. | RRI(nper, pv, fv) |
| <a id="SLN"></a>SLN | Returns the depreciation of an asset for one period, based on a straight-line method. | SLN(cost, salvage, life) |
| <a id="SYD"></a>SYD | Returns the "sum-of-years" depreciation for an asset in a period. | SYD(cost, salvage, life, period) |
| <a id="TBILLEQ"></a>TBILLEQ | Returns the bond-equivalent yield for a Treasury bill. | TBILLEQ(settlement, maturity, discount) |
| <a id="TBILLPRICE"></a>TBILLPRICE | Returns the price per $100 face value for a Treasury bill. | TBILLPRICE(settlement, maturity, discount) |
| <a id="TBILLYIELD"></a>TBILLYIELD | Returns the yield for a Treasury bill. | TBILLYIELD(settlement, maturity, price) |
| <a id="XIRR"></a>XIRR | Returns the internal rate of return for a schedule of cash flows that is not necessarily periodic. | XIRR(values, dates, [guess]) |
| <a id="XNPV"></a>XNPV | Returns the net present value for a schedule of cash flows that is not necessarily periodic. | XNPV(rate, payments, dates) |

### Information

| Function ID | Description | Syntax |
|:---|:---|:---|
| <a id="ISBINARY"></a>ISBINARY | Returns TRUE if provided value is a valid binary number. | ISBINARY(value) |
| <a id="ISBLANK"></a>ISBLANK | Returns TRUE if the reference to a cell is blank. | ISBLANK(value) |
| <a id="ISERR"></a>ISERR | Returns TRUE if the value is error value except #N/A!. | ISERR(value) |
| <a id="ISERROR"></a>ISERROR | Returns TRUE if the value is general error value. | ISERROR(value) |
| <a id="ISEVEN"></a>ISEVEN | Returns TRUE if the value is an even integer, or FALSE otherwise. A value with a fractional part is neither even nor odd, so it returns FALSE. | ISEVEN(value) |
| <a id="ISFORMULA"></a>ISFORMULA | Checks whether referenced cell is a formula. | ISFORMULA(value) |
| <a id="ISLOGICAL"></a>ISLOGICAL | Tests for a logical value (TRUE or FALSE). | ISLOGICAL(value) |
| <a id="ISNA"></a>ISNA | Returns TRUE if the value is #N/A! error. | ISNA(value) |
| <a id="ISNONTEXT"></a>ISNONTEXT | Tests if the cell contents are text or numbers, and returns FALSE if the contents are text. | ISNONTEXT(value) |
| <a id="ISNUMBER"></a>ISNUMBER | Returns TRUE if the value refers to a number. | ISNUMBER(value) |
| <a id="ISODD"></a>ISODD | Returns TRUE if the value is an odd integer, or FALSE otherwise. A value with a fractional part is neither odd nor even, so it returns FALSE. | ISODD(value) |
| <a id="ISREF"></a>ISREF | Returns TRUE if provided value is #REF! error. | ISREF(value) |
| <a id="ISTEXT"></a>ISTEXT | Returns TRUE if the cell contents reference text. | ISTEXT(value) |
| <a id="N"></a>N | Converts a value to a number. | N(value) |
| <a id="NA"></a>NA | Returns #N/A! error value. | NA() |
| <a id="SHEET"></a>SHEET | Returns sheet number of a given value or a formula sheet number if no argument is provided. | SHEET([value]) |
| <a id="SHEETS"></a>SHEETS | Returns number of sheet of a given reference or number of all sheets in workbook when no argument is provided. | SHEETS([value]) |
| <a id="VERSION"></a>VERSION | Returns the HyperFormula version and the license key status as a single text value, e.g. "HyperFormula v3.0.0, 1" (a status code, or the last five characters of the license key). | VERSION() |

### Logical

| Function ID | Description | Syntax |
|:---|:---|:---|
| <a id="AND"></a>AND | Returns TRUE if all arguments are TRUE. | AND(logical_value1, ...) |
| <a id="FALSE"></a>FALSE | Returns the logical value FALSE. | FALSE() |
| <a id="IF"></a>IF | Specifies a logical test to be performed. | IF(test, then_value, [otherwise_value]) |
| <a id="IFERROR"></a>IFERROR | Returns the value if the cell does not contains an error value, or the alternative value if it does. | IFERROR(value, alternate_value) |
| <a id="IFNA"></a>IFNA | Returns the value if the cell does not contains the #N/A (value not available) error value, or the alternative value if it does. | IFNA(value, alternate_value) |
| <a id="IFS"></a>IFS | Evaluates multiple logical tests and returns a value that corresponds to the first true condition. | IFS(condition1, value1, [condition2, value2], ...) |
| <a id="NOT"></a>NOT | Complements (inverts) logical_value. | NOT(logical_value) |
| <a id="OR"></a>OR | Returns TRUE if at least one argument is TRUE. | OR(logical_value1, ...) |
| <a id="SWITCH"></a>SWITCH | Compares expression against value1, value2, ... in order and returns the paired result1, result2, ...; a candidate value that is an error is skipped rather than matched. | SWITCH(expression, value1, result1, ...) |
| <a id="TRUE"></a>TRUE | Returns the logical value TRUE. | TRUE() |
| <a id="XOR"></a>XOR | Returns true if an odd number of arguments evaluates to TRUE. | XOR(logical_value1, ...) |

### Lookup and reference

| Function ID | Description | Syntax |
|:---|:---|:---|
| <a id="ADDRESS"></a>ADDRESS | Returns a cell reference as a string. | ADDRESS(row, column, [absolute_relative_mode], [use_a1_notation], [sheet]) |
| <a id="CHOOSE"></a>CHOOSE | Uses an index to return a value from a list of values. | CHOOSE(index, value1, ...) |
| <a id="COLUMN"></a>COLUMN | Returns column number of a given reference or formula reference if argument not provided. | COLUMN([reference]) |
| <a id="COLUMNS"></a>COLUMNS | Returns the number of columns in the given reference. | COLUMNS(array) |
| <a id="FORMULATEXT"></a>FORMULATEXT | Returns a formula in a given cell as a string. | FORMULATEXT(reference) |
| <a id="HLOOKUP"></a>HLOOKUP | Searches horizontally with reference to adjacent cells to the bottom. | HLOOKUP(search_criterion, array, index, [sort_order]) |
| <a id="HYPERLINK"></a>HYPERLINK | Stores the url in the cell's metadata. It can be read using method [`getCellHyperlink`](https://hyperformula.handsontable.com/docs/api/classes/hyperformula.html#getcellhyperlink) | HYPERLINK(url, [link_label]) |
| <a id="INDEX"></a>INDEX | Returns the contents of a cell specified by row and column number. The column number is optional and defaults to 1. | INDEX(range, row, [column]) |
| <a id="MATCH"></a>MATCH | Returns the relative position of an item in an array that matches a specified value. | MATCH(search_criterion, lookup_array, [match_type]) |
| <a id="OFFSET"></a>OFFSET | Returns the value of a cell offset by a certain number of rows and columns from a given reference point. | OFFSET(reference, rows, columns, [height], [width]) |
| <a id="ROW"></a>ROW | Returns row number of a given reference or formula reference if argument not provided. | ROW([reference]) |
| <a id="ROWS"></a>ROWS | Returns the number of rows in the given reference. | ROWS(array) |
| <a id="VLOOKUP"></a>VLOOKUP | Searches vertically with reference to adjacent cells to the right. | VLOOKUP(search_criterion, array, index, [sort_order]) |
| <a id="XLOOKUP"></a>XLOOKUP | Searches for a key in a range and returns the item corresponding to the match it finds. If no match exists, then XLOOKUP can return the closest (approximate) match. | XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode]) |

### Math and trigonometry

| Function ID | Description | Syntax |
|:---|:---|:---|
| <a id="ABS"></a>ABS | Returns the absolute value of a number. | ABS(number) |
| <a id="ACOS"></a>ACOS | Returns the inverse trigonometric cosine of a number. | ACOS(number) |
| <a id="ACOSH"></a>ACOSH | Returns the inverse hyperbolic cosine of a number. | ACOSH(number) |
| <a id="ACOT"></a>ACOT | Returns the inverse trigonometric cotangent of a number. | ACOT(number) |
| <a id="ACOTH"></a>ACOTH | Returns the inverse hyperbolic cotangent of a number. | ACOTH(number) |
| <a id="ARABIC"></a>ARABIC | Converts number from roman form. | ARABIC(string) |
| <a id="ASIN"></a>ASIN | Returns the inverse trigonometric sine of a number. | ASIN(number) |
| <a id="ASINH"></a>ASINH | Returns the inverse hyperbolic sine of a number. | ASINH(number) |
| <a id="ATAN"></a>ATAN | Returns the inverse trigonometric tangent of a number. | ATAN(number) |
| <a id="ATAN2"></a>ATAN2 | Returns the inverse trigonometric tangent of the specified x and y coordinates. | ATAN2(number_x, number_y) |
| <a id="ATANH"></a>ATANH | Returns the inverse hyperbolic tangent of a number. | ATANH(number) |
| <a id="BASE"></a>BASE | Converts a non-negative integer to a specified base into a text from the numbering system. | BASE(number, radix, [minimum_length]) |
| <a id="CEILING"></a>CEILING | Rounds a number up to the nearest multiple of significance, toward positive infinity when significance is positive and toward negative infinity when it is negative. | CEILING(number, significance) |
| <a id="CEILING.MATH"></a>CEILING.MATH | Rounds a number up to the nearest multiple of significance, ignoring the sign of significance; for a negative number, mode selects whether it rounds toward or away from zero. | CEILING.MATH(number, [significance], [mode]) |
| <a id="CEILING.PRECISE"></a>CEILING.PRECISE | Rounds a number up toward positive infinity to the nearest multiple of significance, whatever the sign of significance. | CEILING.PRECISE(number, [significance]) |
| <a id="COMBIN"></a>COMBIN | Returns number of combinations (without repetitions). | COMBIN(number1, number2) |
| <a id="COMBINA"></a>COMBINA | Returns number of combinations (with repetitions). | COMBINA(number1, number2) |
| <a id="COS"></a>COS | Returns the cosine of the given angle (in radians). | COS(number) |
| <a id="COSH"></a>COSH | Returns the hyperbolic cosine of the given value. | COSH(number) |
| <a id="COT"></a>COT | Returns the cotangent of the given angle (in radians). | COT(number) |
| <a id="COTH"></a>COTH | Returns the hyperbolic cotangent of the given value. | COTH(number) |
| <a id="CSC"></a>CSC | Returns the cosecant of the given angle (in radians). | CSC(number) |
| <a id="CSCH"></a>CSCH | Returns the hyperbolic cosecant of the given value. | CSCH(number) |
| <a id="DECIMAL"></a>DECIMAL | Converts text with characters from a number system to a non-negative integer in the base radix given. | DECIMAL(text, radix) |
| <a id="DEGREES"></a>DEGREES | Converts radians into degrees. | DEGREES(number) |
| <a id="EVEN"></a>EVEN | Rounds a positive number up to the next even integer and a negative number down to the next even integer. | EVEN(number) |
| <a id="EXP"></a>EXP | Returns constant e raised to the power of a number. | EXP(number) |
| <a id="FACT"></a>FACT | Returns a factorial of a number. | FACT(number) |
| <a id="FACTDOUBLE"></a>FACTDOUBLE | Returns a double factorial of a number. | FACTDOUBLE(number) |
| <a id="FLOOR"></a>FLOOR | Rounds a number down to the nearest multiple of significance, toward negative infinity when significance is positive and toward positive infinity when it is negative. | FLOOR(number, significance) |
| <a id="FLOOR.MATH"></a>FLOOR.MATH | Rounds a number down to the nearest multiple of significance, ignoring the sign of significance; for a negative number, mode selects whether it rounds toward or away from zero. | FLOOR.MATH(number, [significance], [mode]) |
| <a id="FLOOR.PRECISE"></a>FLOOR.PRECISE | Rounds a number down toward negative infinity to the nearest multiple of significance, whatever the sign of significance. | FLOOR.PRECISE(number, [significance]) |
| <a id="GCD"></a>GCD | Computes greatest common divisor of numbers. | GCD(number1, ...) |
| <a id="INT"></a>INT | Returns the integer part of a number by discarding its fractional part. | INT(number) |
| <a id="ISO.CEILING"></a>ISO.CEILING | Rounds a number up toward positive infinity to the nearest multiple of significance, whatever the sign of significance. | ISO.CEILING(number, [significance]) |
| <a id="LCM"></a>LCM | Computes least common multiple of numbers. | LCM(number1, ...) |
| <a id="LN"></a>LN | Returns the natural logarithm based on the constant e of a number. | LN(number) |
| <a id="LOG"></a>LOG | Returns the logarithm of a number to the specified base. | LOG(number, [base]) |
| <a id="LOG10"></a>LOG10 | Returns the base-10 logarithm of a number. | LOG10(number) |
| <a id="MOD"></a>MOD | Returns the remainder when one number is divided by another. | MOD(dividend, divisor) |
| <a id="MROUND"></a>MROUND | Rounds a number to the nearest multiple. | MROUND(number, base) |
| <a id="MULTINOMIAL"></a>MULTINOMIAL | Returns number of multiset combinations. | MULTINOMIAL(number1, ...) |
| <a id="ODD"></a>ODD | Rounds a positive number up to the nearest odd integer and a negative number down to the nearest odd integer. | ODD(number) |
| <a id="PI"></a>PI | Returns 3.14159265358979, the value of the mathematical constant PI to 14 decimal places. | PI() |
| <a id="POWER"></a>POWER | Returns a number raised to another number. | POWER(base, exponent) |
| <a id="PRODUCT"></a>PRODUCT | Returns product of numbers. | PRODUCT(number1, ...) |
| <a id="QUOTIENT"></a>QUOTIENT | Returns integer part of a division. | QUOTIENT(dividend, divisor) |
| <a id="RADIANS"></a>RADIANS | Converts degrees to radians. | RADIANS(number) |
| <a id="RAND"></a>RAND | Returns a random number between 0 and 1. | RAND() |
| <a id="RANDBETWEEN"></a>RANDBETWEEN | Returns a random integer between two numbers. | RANDBETWEEN(lower_bound, upper_bound) |
| <a id="ROMAN"></a>ROMAN | Converts number to roman form. | ROMAN(number, [mode]) |
| <a id="ROUND"></a>ROUND | Rounds a number to a certain number of decimal places. | ROUND(number, [count]) |
| <a id="ROUNDDOWN"></a>ROUNDDOWN | Rounds a number down, toward zero, to a certain precision. | ROUNDDOWN(number, [count]) |
| <a id="ROUNDUP"></a>ROUNDUP | Rounds a number up, away from zero, to a certain precision. | ROUNDUP(number, [count]) |
| <a id="SEC"></a>SEC | Returns the secant of the given angle (in radians). | SEC(number) |
| <a id="SECH"></a>SECH | Returns the hyperbolic secant of the given value. | SECH(number) |
| <a id="SERIESSUM"></a>SERIESSUM | Evaluates series at a point. | SERIESSUM(x, n, m, coefficients) |
| <a id="SIGN"></a>SIGN | Returns sign of a number. | SIGN(number) |
| <a id="SIN"></a>SIN | Returns the sine of the given angle (in radians). | SIN(number) |
| <a id="SINH"></a>SINH | Returns the hyperbolic sine of the given value. | SINH(number) |
| <a id="SQRT"></a>SQRT | Returns the positive square root of a number. | SQRT(number) |
| <a id="SQRTPI"></a>SQRTPI | Returns sqrt of number times pi. | SQRTPI(number) |
| <a id="SUBTOTAL"></a>SUBTOTAL | Computes aggregation using function specified by number. | SUBTOTAL(function, number1, ...) |
| <a id="SUM"></a>SUM | Sums up the values of the specified cells. | SUM(number1, ...) |
| <a id="SUMIF"></a>SUMIF | Sums up the values of cells that belong to the specified range and meet the specified condition. | SUMIF(range, criteria, [sum_range]) |
| <a id="SUMIFS"></a>SUMIFS | Sums up the values of cells that belong to the specified range and meet the specified sets of conditions. | SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...) |
| <a id="SUMPRODUCT"></a>SUMPRODUCT | Multiplies corresponding elements in the given arrays, and returns the sum of those products. | SUMPRODUCT(array1, ...) |
| <a id="SUMSQ"></a>SUMSQ | Returns the sum of the squares of the arguments. | SUMSQ(number1, ...) |
| <a id="SUMX2MY2"></a>SUMX2MY2 | Returns the sum of the differences of the squares of paired values, that is the sum of x squared minus y squared over all pairs. | SUMX2MY2(array_x, array_y) |
| <a id="SUMX2PY2"></a>SUMX2PY2 | Returns the sum of the sums of the squares of paired values, that is the sum of x squared plus y squared over all pairs. | SUMX2PY2(array_x, array_y) |
| <a id="SUMXMY2"></a>SUMXMY2 | Returns the sum of the squares of the differences of paired values, that is the sum of x minus y, squared, over all pairs. | SUMXMY2(array_x, array_y) |
| <a id="TAN"></a>TAN | Returns the tangent of the given angle (in radians). | TAN(number) |
| <a id="TANH"></a>TANH | Returns the hyperbolic tangent of the given value. | TANH(number) |
| <a id="TRUNC"></a>TRUNC | Rounds a number down, toward zero, to a certain precision. | TRUNC(number, [count]) |

### Matrix functions

| Function ID | Description | Syntax |
|:---|:---|:---|
| <a id="MAXPOOL"></a>MAXPOOL | Calculates a smaller range which is a maximum of a window_size, in a given range, for every stride element. | MAXPOOL(range, window_size, [stride]) |
| <a id="MEDIANPOOL"></a>MEDIANPOOL | Calculates a smaller range which is a median of a window_size, in a given range, for every stride element. | MEDIANPOOL(range, window_size, [stride]) |
| <a id="MMULT"></a>MMULT | Calculates the array product of two arrays. | MMULT(array1, array2) |
| <a id="TRANSPOSE"></a>TRANSPOSE | Transposes the rows and columns of an array. | TRANSPOSE(array) |

### Operator

| Function ID | Description | Syntax |
|:---|:---|:---|
| <a id="HF.ADD"></a>HF.ADD | Adds two values. | HF.ADD(number1, number2) |
| <a id="HF.CONCAT"></a>HF.CONCAT | Concatenates two strings. | HF.CONCAT(string1, string2) |
| <a id="HF.DIVIDE"></a>HF.DIVIDE | Divides two values. | HF.DIVIDE(number1, number2) |
| <a id="HF.EQ"></a>HF.EQ | Tests two values for equality. | HF.EQ(value1, value2) |
| <a id="HF.GT"></a>HF.GT | Tests two values for greater-than relation. | HF.GT(value1, value2) |
| <a id="HF.GTE"></a>HF.GTE | Tests two values for greater-equal relation. | HF.GTE(value1, value2) |
| <a id="HF.LT"></a>HF.LT | Tests two values for less-than relation. | HF.LT(value1, value2) |
| <a id="HF.LTE"></a>HF.LTE | Tests two values for less-equal relation. | HF.LTE(value1, value2) |
| <a id="HF.MINUS"></a>HF.MINUS | Subtracts two values. | HF.MINUS(number1, number2) |
| <a id="HF.MULTIPLY"></a>HF.MULTIPLY | Multiplies two values. | HF.MULTIPLY(number1, number2) |
| <a id="HF.NE"></a>HF.NE | Tests two values for inequality. | HF.NE(value1, value2) |
| <a id="HF.POW"></a>HF.POW | Computes power of two values. | HF.POW(number1, number2) |
| <a id="HF.UMINUS"></a>HF.UMINUS | Negates the value. | HF.UMINUS(number) |
| <a id="HF.UNARY_PERCENT"></a>HF.UNARY_PERCENT | Applies percent operator. | HF.UNARY_PERCENT(number) |
| <a id="HF.UPLUS"></a>HF.UPLUS | Applies unary plus. | HF.UPLUS(number) |

### Statistical

| Function ID | Description | Syntax |
|:---|:---|:---|
| <a id="AVEDEV"></a>AVEDEV | Returns the average deviation of the arguments. | AVEDEV(number1, ...) |
| <a id="AVERAGE"></a>AVERAGE | Returns the average of the arguments. | AVERAGE(number1, ...) |
| <a id="AVERAGEA"></a>AVERAGEA | Returns the average of the arguments, counting text and logical values found in ranges. | AVERAGEA(value1, ...) |
| <a id="AVERAGEIF"></a>AVERAGEIF | Returns the arithmetic mean of all cells in a range that satisfy a given condition. | AVERAGEIF(range, criteria, [average_range]) |
| <a id="BETA.DIST"></a>BETA.DIST | Returns the density of the beta distribution. | BETA.DIST(x, alpha, beta, cumulative, [lower_bound], [upper_bound]) |
| <a id="BETA.INV"></a>BETA.INV | Returns the inverse of the beta distribution value. | BETA.INV(probability, alpha, beta, [lower_bound], [upper_bound]) |
| <a id="BETADIST"></a>BETADIST | Returns the density of the beta distribution. | BETADIST(x, alpha, beta, cumulative, [lower_bound], [upper_bound]) |
| <a id="BETAINV"></a>BETAINV | Returns the inverse of the beta distribution value. | BETAINV(probability, alpha, beta, [lower_bound], [upper_bound]) |
| <a id="BINOM.DIST"></a>BINOM.DIST | Returns density of binomial distribution. | BINOM.DIST(number_s, trials, probability_s, cumulative) |
| <a id="BINOM.INV"></a>BINOM.INV | Returns inverse binomial distribution value. | BINOM.INV(trials, probability_s, alpha) |
| <a id="BINOMDIST"></a>BINOMDIST | Returns density of binomial distribution. | BINOMDIST(number_s, trials, probability_s, cumulative) |
| <a id="CHIDIST"></a>CHIDIST | Returns probability of chi-square right-side distribution. | CHIDIST(x, degrees) |
| <a id="CHIDISTRT"></a>CHIDISTRT | Returns probability of chi-square right-side distribution. | CHIDISTRT(x, degrees) |
| <a id="CHIINV"></a>CHIINV | Returns inverse of chi-square right-side distribution. | CHIINV(p, degrees) |
| <a id="CHIINVRT"></a>CHIINVRT | Returns inverse of chi-square right-side distribution. | CHIINVRT(p, degrees) |
| <a id="CHISQ.DIST"></a>CHISQ.DIST | Returns value of chi-square distribution. | CHISQ.DIST(x, degrees, cumulative) |
| <a id="CHISQ.DIST.RT"></a>CHISQ.DIST.RT | Returns probability of chi-square right-side distribution. | CHISQ.DIST.RT(x, degrees) |
| <a id="CHISQ.INV"></a>CHISQ.INV | Returns inverse of chi-square distribution. | CHISQ.INV(p, degrees) |
| <a id="CHISQ.INV.RT"></a>CHISQ.INV.RT | Returns inverse of chi-square right-side distribution. | CHISQ.INV.RT(p, degrees) |
| <a id="CHISQ.TEST"></a>CHISQ.TEST | Returns chisquared-test value for a dataset. | CHISQ.TEST(array1, array2) |
| <a id="CHITEST"></a>CHITEST | Returns chisquared-test value for a dataset. | CHITEST(array1, array2) |
| <a id="CONFIDENCE"></a>CONFIDENCE | Returns upper confidence bound for normal distribution. | CONFIDENCE(alpha, stdev, size) |
| <a id="CONFIDENCE.NORM"></a>CONFIDENCE.NORM | Returns upper confidence bound for normal distribution. | CONFIDENCE.NORM(alpha, stdev, size) |
| <a id="CONFIDENCE.T"></a>CONFIDENCE.T | Returns upper confidence bound for T distribution. | CONFIDENCE.T(alpha, stdev, size) |
| <a id="CORREL"></a>CORREL | Returns the correlation coefficient between two data sets. | CORREL(data1, data2) |
| <a id="COUNT"></a>COUNT | Counts how many numbers are in the list of arguments. | COUNT(value1, ...) |
| <a id="COUNTA"></a>COUNTA | Counts how many values are in the list of arguments. | COUNTA(value1, ...) |
| <a id="COUNTBLANK"></a>COUNTBLANK | Returns the number of empty cells. | COUNTBLANK(range, ...) |
| <a id="COUNTIF"></a>COUNTIF | Returns the number of cells that meet with certain criteria within a cell range. | COUNTIF(range, criteria) |
| <a id="COUNTIFS"></a>COUNTIFS | Returns the count of rows or columns that meet criteria in multiple ranges. | COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2], ...) |
| <a id="COUNTUNIQUE"></a>COUNTUNIQUE | Counts the number of unique values in a list of specified values and ranges. | COUNTUNIQUE(value1, ...) |
| <a id="COVAR"></a>COVAR | Returns the covariance between two data sets, population normalized. | COVAR(data1, data2) |
| <a id="COVARIANCE.P"></a>COVARIANCE.P | Returns the covariance between two data sets, population normalized. | COVARIANCE.P(data1, data2) |
| <a id="COVARIANCE.S"></a>COVARIANCE.S | Returns the covariance between two data sets, sample normalized. | COVARIANCE.S(data1, data2) |
| <a id="COVARIANCEP"></a>COVARIANCEP | Returns the covariance between two data sets, population normalized. | COVARIANCEP(data1, data2) |
| <a id="COVARIANCES"></a>COVARIANCES | Returns the covariance between two data sets, sample normalized. | COVARIANCES(data1, data2) |
| <a id="CRITBINOM"></a>CRITBINOM | Returns inverse binomial distribution value. | CRITBINOM(trials, probability_s, alpha) |
| <a id="DEVSQ"></a>DEVSQ | Returns sum of squared deviations. | DEVSQ(number1, ...) |
| <a id="EXPON.DIST"></a>EXPON.DIST | Returns density of a exponential distribution. | EXPON.DIST(x, lambda, cumulative) |
| <a id="EXPONDIST"></a>EXPONDIST | Returns density of a exponential distribution. | EXPONDIST(x, lambda, cumulative) |
| <a id="F.DIST"></a>F.DIST | Returns value of F distribution. | F.DIST(x, degree1, degree2, cumulative) |
| <a id="F.DIST.RT"></a>F.DIST.RT | Returns probability of F right-side distribution. | F.DIST.RT(x, degree1, degree2) |
| <a id="F.INV"></a>F.INV | Returns inverse of F distribution. | F.INV(p, degree1, degree2) |
| <a id="F.INV.RT"></a>F.INV.RT | Returns inverse of F right-side distribution. | F.INV.RT(p, degree1, degree2) |
| <a id="F.TEST"></a>F.TEST | Returns f-test value for a dataset. | F.TEST(array1, array2) |
| <a id="FDIST"></a>FDIST | Returns probability of F right-side distribution. | FDIST(x, degree1, degree2) |
| <a id="FDISTRT"></a>FDISTRT | Returns probability of F right-side distribution. | FDISTRT(x, degree1, degree2) |
| <a id="FINV"></a>FINV | Returns inverse of F right-side distribution. | FINV(p, degree1, degree2) |
| <a id="FINVRT"></a>FINVRT | Returns inverse of F right-side distribution. | FINVRT(p, degree1, degree2) |
| <a id="FISHER"></a>FISHER | Returns Fisher transformation value. | FISHER(number) |
| <a id="FISHERINV"></a>FISHERINV | Returns inverse Fisher transformation value. | FISHERINV(number) |
| <a id="FTEST"></a>FTEST | Returns f-test value for a dataset. | FTEST(array1, array2) |
| <a id="GAMMA"></a>GAMMA | Returns value of Gamma function. | GAMMA(number) |
| <a id="GAMMA.DIST"></a>GAMMA.DIST | Returns density of Gamma distribution. | GAMMA.DIST(x, alpha, beta, cumulative) |
| <a id="GAMMA.INV"></a>GAMMA.INV | Returns inverse Gamma distribution value. | GAMMA.INV(probability, alpha, beta) |
| <a id="GAMMADIST"></a>GAMMADIST | Returns density of Gamma distribution. | GAMMADIST(x, alpha, beta, cumulative) |
| <a id="GAMMAINV"></a>GAMMAINV | Returns inverse Gamma distribution value. | GAMMAINV(probability, alpha, beta) |
| <a id="GAMMALN"></a>GAMMALN | Returns natural logarithm of Gamma function. | GAMMALN(number) |
| <a id="GAMMALN.PRECISE"></a>GAMMALN.PRECISE | Returns natural logarithm of Gamma function. | GAMMALN.PRECISE(number) |
| <a id="GAUSS"></a>GAUSS | Returns the probability that a member of a standard normal population falls between the mean and `number` standard deviations from the mean. | GAUSS(number) |
| <a id="GEOMEAN"></a>GEOMEAN | Returns the geometric average. | GEOMEAN(number1, ...) |
| <a id="HARMEAN"></a>HARMEAN | Returns the harmonic average. | HARMEAN(number1, ...) |
| <a id="HYPGEOM.DIST"></a>HYPGEOM.DIST | Returns density of hypergeometric distribution. | HYPGEOM.DIST(sample_s, number_sample, population_s, number_population, cumulative) |
| <a id="HYPGEOMDIST"></a>HYPGEOMDIST | Returns density of hypergeometric distribution. | HYPGEOMDIST(sample_s, number_sample, population_s, number_population, cumulative) |
| <a id="LARGE"></a>LARGE | Returns k-th largest value in a range. | LARGE(range, k) |
| <a id="LOGINV"></a>LOGINV | Returns value of inverse lognormal distribution. | LOGINV(p, mean, stddev) |
| <a id="LOGNORM.DIST"></a>LOGNORM.DIST | Returns density of lognormal distribution. | LOGNORM.DIST(x, mean, stddev, cumulative) |
| <a id="LOGNORM.INV"></a>LOGNORM.INV | Returns value of inverse lognormal distribution. | LOGNORM.INV(p, mean, stddev) |
| <a id="LOGNORMDIST"></a>LOGNORMDIST | Returns density of lognormal distribution. | LOGNORMDIST(x, mean, stddev, cumulative) |
| <a id="LOGNORMINV"></a>LOGNORMINV | Returns value of inverse lognormal distribution. | LOGNORMINV(p, mean, stddev) |
| <a id="MAX"></a>MAX | Returns the maximum value in a list of arguments. | MAX(number1, ...) |
| <a id="MAXA"></a>MAXA | Returns the maximum value in a list of arguments, counting text and logical values found in ranges. | MAXA(value1, ...) |
| <a id="MAXIFS"></a>MAXIFS | Returns the maximum value of the cells in a range that meet a set of criteria. | MAXIFS(max_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...) |
| <a id="MEDIAN"></a>MEDIAN | Returns the median of a set of numbers. | MEDIAN(number1, ...) |
| <a id="MIN"></a>MIN | Returns the minimum value in a list of arguments. | MIN(number1, ...) |
| <a id="MINA"></a>MINA | Returns the minimum value in a list of arguments, counting text and logical values found in ranges. | MINA(value1, ...) |
| <a id="MINIFS"></a>MINIFS | Returns the minimum value of the cells in a range that meet a set of criteria. | MINIFS(min_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...) |
| <a id="NEGBINOM.DIST"></a>NEGBINOM.DIST | Returns density of negative binomial distribution. | NEGBINOM.DIST(number_f, number_s, probability_s, cumulative) |
| <a id="NEGBINOMDIST"></a>NEGBINOMDIST | Returns density of negative binomial distribution. | NEGBINOMDIST(number_f, number_s, probability_s, cumulative) |
| <a id="NORM.DIST"></a>NORM.DIST | Returns density of normal distribution. | NORM.DIST(x, mean, stddev, cumulative) |
| <a id="NORM.INV"></a>NORM.INV | Returns value of inverse normal distribution. | NORM.INV(p, mean, stddev) |
| <a id="NORM.S.DIST"></a>NORM.S.DIST | Returns density of the standard normal distribution (mean 0, standard deviation 1). | NORM.S.DIST(x, cumulative) |
| <a id="NORM.S.INV"></a>NORM.S.INV | Returns value of the inverse standard normal distribution (mean 0, standard deviation 1). | NORM.S.INV(p) |
| <a id="NORMDIST"></a>NORMDIST | Returns density of normal distribution. | NORMDIST(x, mean, stddev, cumulative) |
| <a id="NORMINV"></a>NORMINV | Returns value of inverse normal distribution. | NORMINV(p, mean, stddev) |
| <a id="NORMSDIST"></a>NORMSDIST | Returns density of the standard normal distribution (mean 0, standard deviation 1). | NORMSDIST(x, cumulative) |
| <a id="NORMSINV"></a>NORMSINV | Returns value of the inverse standard normal distribution (mean 0, standard deviation 1). | NORMSINV(p) |
| <a id="PEARSON"></a>PEARSON | Returns the correlation coefficient between two data sets. | PEARSON(data1, data2) |
| <a id="PERCENTILE"></a>PERCENTILE | Returns the k-th percentile of values in a range, inclusive of 0 and 1. | PERCENTILE(data, k) |
| <a id="PERCENTILE.EXC"></a>PERCENTILE.EXC | Returns the k-th percentile of values in a range, exclusive of 0 and 1. | PERCENTILE.EXC(data, k) |
| <a id="PERCENTILE.INC"></a>PERCENTILE.INC | Returns the k-th percentile of values in a range, inclusive of 0 and 1. | PERCENTILE.INC(data, k) |
| <a id="PHI"></a>PHI | Returns probability density of normal distribution. | PHI(x) |
| <a id="POISSON"></a>POISSON | Returns density of Poisson distribution. | POISSON(x, mean, cumulative) |
| <a id="POISSON.DIST"></a>POISSON.DIST | Returns density of Poisson distribution. | POISSON.DIST(x, mean, cumulative) |
| <a id="POISSONDIST"></a>POISSONDIST | Returns density of Poisson distribution. | POISSONDIST(x, mean, cumulative) |
| <a id="QUARTILE"></a>QUARTILE | Returns the quartile of a data set, based on inclusive percentile values. | QUARTILE(data, quart) |
| <a id="QUARTILE.EXC"></a>QUARTILE.EXC | Returns the quartile of a data set, based on exclusive percentile values. | QUARTILE.EXC(data, quart) |
| <a id="QUARTILE.INC"></a>QUARTILE.INC | Returns the quartile of a data set, based on inclusive percentile values. | QUARTILE.INC(data, quart) |
| <a id="RSQ"></a>RSQ | Returns the squared correlation coefficient between two data sets. | RSQ(data1, data2) |
| <a id="SKEW"></a>SKEW | Returns skewness of a sample. | SKEW(number1, ...) |
| <a id="SKEW.P"></a>SKEW.P | Returns skewness of a population. | SKEW.P(number1, ...) |
| <a id="SKEWP"></a>SKEWP | Returns skewness of a population. | SKEWP(number1, ...) |
| <a id="SLOPE"></a>SLOPE | Returns the slope of a linear regression line. | SLOPE(array1, array2) |
| <a id="SMALL"></a>SMALL | Returns k-th smallest value in a range. | SMALL(range, k) |
| <a id="STANDARDIZE"></a>STANDARDIZE | Returns normalized value wrt expected value and standard deviation. | STANDARDIZE(x, mean, stddev) |
| <a id="STDEV"></a>STDEV | Returns standard deviation of a sample. | STDEV(value1, ...) |
| <a id="STDEV.P"></a>STDEV.P | Returns standard deviation of a population. | STDEV.P(value1, ...) |
| <a id="STDEV.S"></a>STDEV.S | Returns standard deviation of a sample. | STDEV.S(value1, ...) |
| <a id="STDEVA"></a>STDEVA | Returns standard deviation of a sample, counting text and logical values found in ranges. | STDEVA(value1, ...) |
| <a id="STDEVP"></a>STDEVP | Returns standard deviation of a population. | STDEVP(value1, ...) |
| <a id="STDEVPA"></a>STDEVPA | Returns standard deviation of a population, counting text and logical values found in ranges. | STDEVPA(value1, ...) |
| <a id="STDEVS"></a>STDEVS | Returns standard deviation of a sample. | STDEVS(value1, ...) |
| <a id="STEYX"></a>STEYX | Returns standard error for predicted of the predicted y value for each x value. | STEYX(array1, array2) |
| <a id="T.DIST"></a>T.DIST | Returns density of Student-t distribution. | T.DIST(x, degrees, cumulative) |
| <a id="T.DIST.2T"></a>T.DIST.2T | Returns density of Student-t distribution, both-sided. | T.DIST.2T(x, degrees) |
| <a id="T.DIST.RT"></a>T.DIST.RT | Returns density of Student-t distribution, right-tailed. | T.DIST.RT(x, degrees) |
| <a id="T.INV"></a>T.INV | Returns inverse Student-t distribution. | T.INV(p, degrees) |
| <a id="T.INV.2T"></a>T.INV.2T | Returns inverse Student-t distribution, both-sided. | T.INV.2T(p, degrees) |
| <a id="T.TEST"></a>T.TEST | Returns t-test value for a dataset. | T.TEST(array1, array2, tails, type) |
| <a id="TDIST"></a>TDIST | Returns density of Student-t distribution, both-sided or right-tailed. | TDIST(x, degrees, tails) |
| <a id="TDIST2T"></a>TDIST2T | Returns density of Student-t distribution, both-sided. | TDIST2T(x, degrees) |
| <a id="TDISTRT"></a>TDISTRT | Returns density of Student-t distribution, right-tailed. | TDISTRT(x, degrees) |
| <a id="TINV"></a>TINV | Returns inverse Student-t distribution, both-sided. | TINV(p, degrees) |
| <a id="TINV2T"></a>TINV2T | Returns inverse Student-t distribution, both-sided. | TINV2T(p, degrees) |
| <a id="TTEST"></a>TTEST | Returns t-test value for a dataset. | TTEST(array1, array2, tails, type) |
| <a id="VAR"></a>VAR | Returns variance of a sample. | VAR(value1, ...) |
| <a id="VAR.P"></a>VAR.P | Returns variance of a population. | VAR.P(value1, ...) |
| <a id="VAR.S"></a>VAR.S | Returns variance of a sample. | VAR.S(value1, ...) |
| <a id="VARA"></a>VARA | Returns variance of a sample, counting text and logical values found in ranges. | VARA(value1, ...) |
| <a id="VARP"></a>VARP | Returns variance of a population. | VARP(value1, ...) |
| <a id="VARPA"></a>VARPA | Returns variance of a population, counting text and logical values found in ranges. | VARPA(value1, ...) |
| <a id="VARS"></a>VARS | Returns variance of a sample. | VARS(value1, ...) |
| <a id="WEIBULL"></a>WEIBULL | Returns density of Weibull distribution. | WEIBULL(x, alpha, beta, cumulative) |
| <a id="WEIBULL.DIST"></a>WEIBULL.DIST | Returns density of Weibull distribution. | WEIBULL.DIST(x, alpha, beta, cumulative) |
| <a id="WEIBULLDIST"></a>WEIBULLDIST | Returns density of Weibull distribution. | WEIBULLDIST(x, alpha, beta, cumulative) |
| <a id="Z.TEST"></a>Z.TEST | Returns z-test value for a dataset. | Z.TEST(array, x, [sigma]) |
| <a id="ZTEST"></a>ZTEST | Returns z-test value for a dataset. | ZTEST(array, x, [sigma]) |

### Text

| Function ID | Description | Syntax |
|:---|:---|:---|
| <a id="CHAR"></a>CHAR | Converts a number into a character according to the current code table. | CHAR(number) |
| <a id="CLEAN"></a>CLEAN | Returns text that has been "cleaned" of line breaks and other non-printable characters. | CLEAN(text) |
| <a id="CODE"></a>CODE | Returns a numeric code for the first character in a text string. | CODE(text) |
| <a id="CONCATENATE"></a>CONCATENATE | Combines several text strings into one string. | CONCATENATE(text1, ...) |
| <a id="EXACT"></a>EXACT | Returns TRUE if both text strings are exactly the same. | EXACT(text1, text2) |
| <a id="FIND"></a>FIND | Returns the location of one text string inside another. | FIND(search_string, text, [start_position]) |
| <a id="LEFT"></a>LEFT | Extracts a given number of characters from the left side of a text string. | LEFT(text, [number]) |
| <a id="LEN"></a>LEN | Returns length of a given text. | LEN(text) |
| <a id="LOWER"></a>LOWER | Returns text converted to lowercase. | LOWER(text) |
| <a id="MID"></a>MID | Returns a substring of a given length starting from start_position. | MID(text, start_position, length) |
| <a id="PROPER"></a>PROPER | Capitalizes words given text string. | PROPER(text) |
| <a id="REPLACE"></a>REPLACE | Replaces substring of a text of a given length that starts at given position. | REPLACE(text, start_position, length, new_text) |
| <a id="REPT"></a>REPT | Repeats text a given number of times. | REPT(text, number) |
| <a id="RIGHT"></a>RIGHT | Extracts a given number of characters from the right side of a text string. | RIGHT(text, [number]) |
| <a id="SEARCH"></a>SEARCH | Returns the location of search_string inside text. Case-insensitive. Allows the use of wildcards. | SEARCH(search_string, text, [start_position]) |
| <a id="SPLIT"></a>SPLIT | Divides the provided text using the space character as a separator and returns the substring at the zero-based position specified by the second argument. For example, SPLIT("Lorem ipsum", 0) returns "Lorem" and SPLIT("Lorem ipsum", 1) returns "ipsum". | SPLIT(text, index) |
| <a id="SUBSTITUTE"></a>SUBSTITUTE | Returns a string where occurrences of old_text are replaced by new_text. Replaces only specific occurrence if last parameter is provided. | SUBSTITUTE(text, old_text, new_text, [occurrence]) |
| <a id="T"></a>T | Returns text if given value is text, empty string otherwise. | T(value) |
| <a id="TEXT"></a>TEXT | Converts a number into text according to a given format. By default it accepts the same formats as the [`dateFormats`](https://hyperformula.handsontable.com/docs/api/interfaces/configparams.html#dateformats) option, and can be further customized with the [`stringifyDateTime`](https://hyperformula.handsontable.com/docs/api/interfaces/configparams.html#stringifydatetime) and [`stringifyCurrency`](https://hyperformula.handsontable.com/docs/api/interfaces/configparams.html#stringifycurrency) options. | TEXT(number, format) |
| <a id="TEXTJOIN"></a>TEXTJOIN | Joins text from multiple strings and/or ranges with a delimiter. Supports array/range delimiters that cycle through gaps. When ignore_empty is TRUE, empty strings are skipped. Returns #VALUE! if result exceeds 32,767 characters. | TEXTJOIN(delimiter, ignore_empty, text1, ...) |
| <a id="TRIM"></a>TRIM | Strips extra spaces from text. | TRIM(text) |
| <a id="UNICHAR"></a>UNICHAR | Returns the character created by using provided code point. | UNICHAR(number) |
| <a id="UNICODE"></a>UNICODE | Returns the Unicode code point of a first character of a text. | UNICODE(text) |
| <a id="UPPER"></a>UPPER | Returns text converted to uppercase. | UPPER(text) |
| <a id="VALUE"></a>VALUE | Parses a number, date, time, datetime, currency, or percentage from a text string. | VALUE(text) |

<!-- AUTOGENERATED:FUNCTIONS:END -->