---
title: Functions and Operators
description: >-
  Reference guide for functions and operators available in Sheets calculated
  columns and sheet formulas, including text, date, logical, math, lookup,
  statistical, and financial operations.
breadcrumbs: Docs > Sheets > Functions and Operators
---

# Functions and Operators

## Overview{% #overview %}

Use functions and operators in Sheets to analyze and transform your data. Functions are available in two contexts:

- **Table calculated columns**: Functions that transform or enrich individual row values in a table, applied at the column level.
- **Sheets**: Functions entered directly in a [sheet](https://docs.datadoghq.com/sheets.md#sheet-preview) tab, allowing you to reference other sheet or table tabs (when applicable).

## Operators{% #operators %}

| Operator | Name                  | Example        |
| -------- | --------------------- | -------------- |
| `+`      | Addition              | `=A1+B1`       |
| `-`      | Subtraction           | `=A1-B1`       |
| `*`      | Multiplication        | `=A1*B1`       |
| `/`      | Division              | `=A1/B1`       |
| `^`      | Power                 | `=2^10`        |
| `&`      | Concatenate           | `="Hello "&A1` |
| `=`      | Equal                 | `=A1=B1`       |
| `<>`     | Not equal             | `=A1<>0`       |
| `>`      | Greater than          | `=A1>100`      |
| `<`      | Less than             | `=A1<100`      |
| `>=`     | Greater than or equal | `=A1>=100`     |
| `<=`     | Less than or equal    | `=A1<=100`     |

## Functions{% #functions %}

### Text{% #text %}

{% dl %}

{% dt %}
`REGEXMATCH(text_string, regular_expression)`
{% /dt %}

{% dd %}
Evaluates whether a text string matches a regular expression. **Example**: `REGEXMATCH("ABC 123 def", "\\\\d+") => TRUE` **Available in**: Table, Sheet
{% /dd %}

{% dt %}
`REGEXEXTRACT(text_string, regular_expression)`
{% /dt %}

{% dd %}
Extracts the first substring that matches a specified regex pattern. **Example**: `REGEXEXTRACT("ABC 123 def", "\\\\d+") => "123"` **Available in**: Table, Sheet
{% /dd %}

{% dt %}
`REGEXCOUNT(text_string, regular_expression)`
{% /dt %}

{% dd %}
Counts the number of times a regex pattern appears in a text string. **Example**: `REGEXCOUNT("abc 123 def", "\\\\d+") => 1` **Available in**: Table, Sheet
{% /dd %}

{% dt %}
`REGEXREPLACE(text_string, regular_expression, replacement)`
{% /dt %}

{% dd %}
Replaces all substrings matching a regex with a replacement string. **Example**: `REGEXREPLACE("abc 123 def", "\\\\d+", "NUM") => "abc NUM def"` **Available in**: Table
{% /dd %}

{% dt %}
`LEN(string)`
{% /dt %}

{% dd %}
Returns the length of a string. **Example**: `LEN("Hello World")` **Available in**: Table, Sheet
{% /dd %}

{% dt %}
`LOWER(string)`
{% /dt %}

{% dd %}
Returns the string in lowercase. **Example**: `LOWER("HELLO WORLD")` **Available in**: Table, Sheet
{% /dd %}

{% dt %}
`UPPER(string)`
{% /dt %}

{% dd %}
Returns the string in uppercase. **Example**: `UPPER("hello world")` **Available in**: Table, Sheet
{% /dd %}

{% dt %}
`LEFT(string, number_of_characters)`
{% /dt %}

{% dd %}
Returns a substring from the beginning of a specified string. **Example**: `LEFT("Datadog", 4)` **Available in**: Table, Sheet
{% /dd %}

{% dt %}
`RIGHT(string, number_of_characters)`
{% /dt %}

{% dd %}
Returns a substring from the end of a specified string. **Example**: `RIGHT("DATADOG", 3)` **Available in**: Table, Sheet
{% /dd %}

{% dt %}
`MID(text, start, length)`
{% /dt %}

{% dd %}
Returns characters from the middle of text. **Example**: `MID("Hello World", 7, 5) => "World"` **Available in**: Sheet
{% /dd %}

{% dt %}
`CONCATENATE(string1, string2, ...)`
{% /dt %}

{% dd %}
Appends strings to one another. Equivalent to the `&` operator. **Example**: `CONCATENATE("data", "dog")` **Available in**: Table, Sheet
{% /dd %}

{% dt %}
`CONTAINS(string, substring)`
{% /dt %}

{% dd %}
Returns TRUE if the string contains the substring, FALSE otherwise. **Example**: `CONTAINS("is the word string in this sentence?", "string")` **Available in**: Table, Sheet
{% /dd %}

{% dt %}
`SUBSTITUTE(text, old_text, new_text, [instance_num])`
{% /dt %}

{% dd %}
Replaces occurrences of old_text with new_text. If instance_num is omitted, all occurrences are replaced; otherwise, only the specified instance is replaced. **Example**: `SUBSTITUTE("hello world", "world", "Datadog") => "hello Datadog"` **Available in**: Table, Sheet
{% /dd %}

{% dt %}
`TEXTJOIN(delimiter, ignore_empty, text1, [text2, ...])`
{% /dt %}

{% dd %}
Combines the text from multiple strings with the specified delimiter. **Example**: `TEXTJOIN(" ", TRUE, "hello", "world")` **Available in**: Table, Sheet
{% /dd %}

{% dt %}
`FIND(search_for, text_to_search)`
{% /dt %}

{% dd %}
Finds the position of text within text (case-sensitive). Returns an error if not found. **Example**: `FIND("World", "Hello World") => 7` **Available in**: Sheet
{% /dd %}

{% dt %}
`CHAR(number)`
{% /dt %}

{% dd %}
Converts a number into a character according to the Unicode character set. **Example**: `CHAR(65) => "A"` **Available in**: Sheet
{% /dd %}

{% dt %}
`CLEAN(text)`
{% /dt %}

{% dd %}
Removes non-printable characters from text. **Example**: `CLEAN(A1)` **Available in**: Sheet
{% /dd %}

{% dt %}
`TEXT(number, format)`
{% /dt %}

{% dd %}
Formats a number as text using a format pattern. Supports number, date, and time formatting. **Example**: `TEXT(1234.5, "#,##0.00") => "1,234.50"` **Available in**: Sheet
{% /dd %}

{% dt %}
`TRIM(text)`
{% /dt %}

{% dd %}
Removes leading, trailing, and extra spaces from text. **Example**: `TRIM(" hello ") => "hello"` **Available in**: Sheet
{% /dd %}

{% dt %}
`VALUE(text)`
{% /dt %}

{% dd %}
Converts text to a number. **Example**: `VALUE("123") => 123` **Available in**: Sheet
{% /dd %}

{% /dl %}

### Logical{% #logical %}

{% dl %}

{% dt %}
`IF(logical_expression, value_if_true, value_if_false)`
{% /dt %}

{% dd %}
Returns one value if a logical expression is TRUE and another if it is FALSE. **Example**: `IF(42>9, "all good", "something is wrong in the matrix")` **Available in**: Table, Sheet
{% /dd %}

{% dt %}
`IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2], …)`
{% /dt %}

{% dd %}
Evaluates one or more condition/value pairs and returns the value for the first true condition. Use TRUE as the final condition to define a default value. **Example**: `IFS(A1>90, "A", A1>80, "B", TRUE, "C")` **Available in**: Table, Sheet
{% /dd %}

{% dt %}
`AND(logical_expression1, [logical_expression2, …])`
{% /dt %}

{% dd %}
Returns true if all of the provided arguments are logically true, and false if any of the provided arguments are logically false. **Example**: `AND(A1=1, A2=2)` **Available in**: Table, Sheet
{% /dd %}

{% dt %}
`OR(logical_expression1, [logical_expression2, …])`
{% /dt %}

{% dd %}
Returns true if any of the provided arguments are logically true, and false if all of the provided arguments are logically false. **Example**: `OR(A1=1, A2=2)` **Available in**: Table, Sheet
{% /dd %}

{% dt %}
`NOT(logical_expression)`
{% /dt %}

{% dd %}
Returns the opposite of a logical value. **Example**: `NOT(TRUE)` **Available in**: Table, Sheet
{% /dd %}

{% dt %}
`TRUE()`
{% /dt %}

{% dd %}
Returns the logical value TRUE. **Example**: `TRUE()` **Available in**: Table, Sheet
{% /dd %}

{% dt %}
`FALSE()`
{% /dt %}

{% dd %}
Returns the logical value FALSE. **Example**: `FALSE()` **Available in**: Table, Sheet
{% /dd %}

{% dt %}
`IFERROR(value, value_if_error)`
{% /dt %}

{% dd %}
Returns a specified value if a formula evaluates to an error; otherwise returns the result of the formula. **Example**: `IFERROR(1/0, "Division Error")` **Available in**: Sheet
{% /dd %}

{% dt %}
`IFNA(value, value_if_na)`
{% /dt %}

{% dd %}
Returns a specified value if a formula evaluates to #N/A; otherwise returns the result of the formula. **Example**: `IFNA(VLOOKUP("x", A1:B10, 2, FALSE), "Not found")` **Available in**: Sheet
{% /dd %}

{% dt %}
`SWITCH(expression, case1, value1, ..., [default])`
{% /dt %}

{% dd %}
Compares expression to cases and returns the corresponding value. **Example**: `SWITCH(A1, 1, "One", 2, "Two", "Other")` **Available in**: Sheet
{% /dd %}

{% dt %}
`XOR(logical_expression1, [logical_expression2, …])`
{% /dt %}

{% dd %}
Returns TRUE if an odd number of arguments are TRUE. **Example**: `XOR(TRUE, FALSE)` **Available in**: Sheet
{% /dd %}

{% /dl %}

### Math{% #math %}

{% dl %}

{% dt %}
`ABS(number)`
{% /dt %}

{% dd %}
Returns the absolute value of a number. **Example**: `ABS(26.34)` **Available in**: Table, Sheet
{% /dd %}

{% dt %}
`CEILING(number, factor)`
{% /dt %}

{% dd %}
Rounds a number up to the nearest integer multiple of the specified factor. **Example**: `CEILING(826.645, 10)` **Available in**: Table, Sheet
{% /dd %}

{% dt %}
`FLOOR(number, factor)`
{% /dt %}

{% dd %}
Rounds a number down to the nearest integer multiple of the specified factor. **Example**: `FLOOR(826.645, 10)` **Available in**: Table, Sheet
{% /dd %}

{% dt %}
`MOD(number1, number2)`
{% /dt %}

{% dd %}
Returns the result of the modulo operator, the remainder after a division operation. **Example**: `MOD(5, 2)` **Available in**: Table, Sheet
{% /dd %}

{% dt %}
`POWER(number, power)`
{% /dt %}

{% dd %}
Returns a number raised to a power. **Example**: `POWER(2, 3)` **Available in**: Table, Sheet
{% /dd %}

{% dt %}
`ROUND(number, places)`
{% /dt %}

{% dd %}
Rounds a number to a certain number of decimal places. **Example**: `ROUND(826.645, 1)` **Available in**: Table, Sheet
{% /dd %}

{% dt %}
`COUNT(value1, [value2, ...])`
{% /dt %}

{% dd %}
Counts the number of numeric values in a range. **Example**: `COUNT(A1:A10)` **Available in**: Sheet
{% /dd %}

{% dt %}
`COUNTA(value1, [value2, ...])`
{% /dt %}

{% dd %}
Counts the number of non-empty values in a range. **Example**: `COUNTA('Logs'#"service")` **Available in**: Sheet
{% /dd %}

{% dt %}
`COUNTBLANK(range)`
{% /dt %}

{% dd %}
Counts the number of empty cells in a range. **Example**: `COUNTBLANK(A1:A10)` **Available in**: Sheet
{% /dd %}

{% dt %}
`COUNTIF(range, criteria)`
{% /dt %}

{% dd %}
Counts the number of cells in a range that meet a specified criteria. **Example**: `COUNTIF('Logs'#"status", "error")` **Available in**: Sheet
{% /dd %}

{% dt %}
`COUNTIFS(range1, criteria1, [range2, criteria2, ...])`
{% /dt %}

{% dd %}
Counts the number of cells in a range that meet multiple criteria. **Example**: `COUNTIFS('Logs'#"status", "error", 'Logs'#"env", "prod")` **Available in**: Sheet
{% /dd %}

{% dt %}
`COUNTUNIQUE(value1, [value2, ...])`
{% /dt %}

{% dd %}
Counts the number of unique values in a range. **Example**: `COUNTUNIQUE('Logs'#"service")` **Available in**: Sheet
{% /dd %}

{% dt %}
`MAX(value1, [value2, ...])`
{% /dt %}

{% dd %}
Returns the largest number from a set of values. **Example**: `MAX('APM'#"duration")` **Available in**: Sheet
{% /dd %}

{% dt %}
`MAXIFS(max_range, range1, criteria1, ...)`
{% /dt %}

{% dd %}
Returns the maximum value in a range that meets multiple criteria. **Example**: `MAXIFS('APM'#"duration", 'APM'#"env", "prod")` **Available in**: Sheet
{% /dd %}

{% dt %}
`MIN(value1, [value2, ...])`
{% /dt %}

{% dd %}
Returns the smallest number from a set of values. **Example**: `MIN('APM'#"duration")` **Available in**: Sheet
{% /dd %}

{% dt %}
`MINIFS(min_range, range1, criteria1, ...)`
{% /dt %}

{% dd %}
Returns the minimum value in a range that meets multiple criteria. **Example**: `MINIFS('APM'#"duration", 'APM'#"env", "prod")` **Available in**: Sheet
{% /dd %}

{% dt %}
`PI()`
{% /dt %}

{% dd %}
Returns the value of π to 15 digits of precision. **Example**: `PI()` **Available in**: Sheet
{% /dd %}

{% dt %}
`RAND()`
{% /dt %}

{% dd %}
Returns a random number between 0 and 1. **Example**: `RAND()` **Available in**: Sheet
{% /dd %}

{% dt %}
`SQRT(number)`
{% /dt %}

{% dd %}
Returns the positive square root of a number. **Example**: `SQRT(16) => 4` **Available in**: Sheet
{% /dd %}

{% dt %}
`SUM(value1, [value2, ...])`
{% /dt %}

{% dd %}
Returns the sum of a series of numbers and/or cells. **Example**: `SUM('Cloud Cost'#"cost")` **Available in**: Sheet
{% /dd %}

{% dt %}
`SUMIF(range, criteria, sum_range)`
{% /dt %}

{% dd %}
Adds the values in a range that meet criteria you specify. **Example**: `SUMIF('Cloud Cost'#"service", "ec2", 'Cloud Cost'#"cost")` **Available in**: Sheet
{% /dd %}

{% dt %}
`SUMIFS(sum_range, range1, criteria1, ...)`
{% /dt %}

{% dd %}
Adds the values in a range that meet multiple criteria. **Example**: `SUMIFS('Cloud Cost'#"cost", 'Cloud Cost'#"service", "ec2", 'Cloud Cost'#"env", "prod")` **Available in**: Sheet
{% /dd %}

{% /dl %}

### Date and time{% #date-and-time %}

{% dl %}

{% dt %}
`DATE(year, month, day)`
{% /dt %}

{% dd %}
Converts a provided year, month, and day into a date. **Example**: `DATE(2021, 10, 31)` **Available in**: Table, Sheet
{% /dd %}

{% dt %}
`DATEDIF(start_date, end_date, unit)`
{% /dt %}

{% dd %}
Calculates the number of days, months, or years between two dates. **Example**: `DATEDIF("10/17/1979", "8/22/2019", "Y") => 39` **Available in**: Table, Sheet
{% /dd %}

{% dt %}
`TODAY()`
{% /dt %}

{% dd %}
Returns the current date. **Example**: `TODAY()` **Available in**: Sheet
{% /dd %}

{% dt %}
`NOW()`
{% /dt %}

{% dd %}
Returns the current date and time. **Example**: `NOW()` **Available in**: Sheet
{% /dd %}

{% dt %}
`TIME(hour, minute, second)`
{% /dt %}

{% dd %}
Converts a provided hour, minute, and second into a time. **Example**: `TIME(11, 40, 59)` **Available in**: Sheet
{% /dd %}

{% dt %}
`YEAR(date)`
{% /dt %}

{% dd %}
Extracts the year component from a date value. **Example**: `YEAR(DATE(2025, 12, 31))` **Available in**: Sheet
{% /dd %}

{% dt %}
`MONTH(date)`
{% /dt %}

{% dd %}
Extracts the month component from a date value. **Example**: `MONTH("2023-07-15")` **Available in**: Sheet
{% /dd %}

{% dt %}
`DAY(date)`
{% /dt %}

{% dd %}
Extracts the day component from a date value. **Example**: `DAY(DATE(2023, 12, 25))` **Available in**: Sheet
{% /dd %}

{% dt %}
`HOUR(time)`
{% /dt %}

{% dd %}
Extracts the hour component from a time value. **Example**: `HOUR("14:30:45")` **Available in**: Sheet
{% /dd %}

{% dt %}
`MINUTE(time)`
{% /dt %}

{% dd %}
Extracts the minute component from a time value. **Example**: `MINUTE("14:30:45")` **Available in**: Sheet
{% /dd %}

{% dt %}
`SECOND(time)`
{% /dt %}

{% dd %}
Extracts the second component from a time value. **Example**: `SECOND("14:30:45")` **Available in**: Sheet
{% /dd %}

{% dt %}
`EDATE(start_date, months)`
{% /dt %}

{% dd %}
Returns the date that is the indicated number of months before or after a start date. **Example**: `EDATE("2023-01-15", 6)` **Available in**: Sheet
{% /dd %}

{% dt %}
`EOMONTH(start_date, months)`
{% /dt %}

{% dd %}
Returns the last day of a month that is a specified number of months before or after a given date. **Example**: `EOMONTH(DATE(2023, 12, 12), 0)` **Available in**: Sheet
{% /dd %}

{% dt %}
`WEEKDAY(date, [type])`
{% /dt %}

{% dd %}
Returns the day of the week as a number. Type 1 (default) = Sun–Sat (1–7), type 2 = Mon–Sun (1–7), type 3 = Mon–Sun (0–6). **Example**: `WEEKDAY(DATE(2023, 12, 12))` **Available in**: Sheet
{% /dd %}

{% dt %}
`WEEKNUM(date, [type])`
{% /dt %}

{% dd %}
Returns the week number of a specific date within the year. **Example**: `WEEKNUM("2023-01-15")` **Available in**: Sheet
{% /dd %}

{% /dl %}

### Lookup and reference{% #lookup-and-reference %}

{% dl %}

{% dt %}
`VLOOKUP(search_key, range, index, [is_sorted])`
{% /dt %}

{% dd %}
Searches for a value in the first column of a range and returns a value in the same row from a specified column. **Example**: `VLOOKUP("Apple", A1:C10, 2, FALSE)` **Available in**: Sheet
{% /dd %}

{% dt %}
`HLOOKUP(search_key, range, index, [is_sorted])`
{% /dt %}

{% dd %}
Searches for a value in the first row of a range and returns a value in the same column from a specified row. **Example**: `HLOOKUP("Apple", A1:D3, 2, FALSE)` **Available in**: Sheet
{% /dd %}

{% dt %}
`INDEX(reference, row, [column])`
{% /dt %}

{% dd %}
Returns the value of an element in a table based on row and column numbers. **Example**: `INDEX(A1:D3, 2, 3)` **Available in**: Sheet
{% /dd %}

{% dt %}
`MATCH(search_key, range, [search_type])`
{% /dt %}

{% dd %}
Returns the relative position of an item in an array that matches a specified value. **Example**: `MATCH("Apple", A1:A4, 0)` **Available in**: Sheet
{% /dd %}

{% dt %}
`CHOOSE(index, value1, value2, ...)`
{% /dt %}

{% dd %}
Returns a value from a list based on an index. **Example**: `CHOOSE(2, "A", "B", "C")` **Available in**: Sheet
{% /dd %}

{% dt %}
`ROW([reference])`
{% /dt %}

{% dd %}
Returns the row number of a reference. **Example**: `ROW(A5) => 5` **Available in**: Sheet
{% /dd %}

{% dt %}
`COLUMN([reference])`
{% /dt %}

{% dd %}
Returns the column number of a reference. **Example**: `COLUMN(C1) => 3` **Available in**: Sheet
{% /dd %}

{% /dl %}

### Statistical{% #statistical %}

{% dl %}

{% dt %}
`AVERAGE(value1, [value2, ...])`
{% /dt %}

{% dd %}
Returns the numerical average value in a dataset, ignoring text. **Example**: `AVERAGE('APM'#"duration")` **Available in**: Sheet
{% /dd %}

{% dt %}
`AVERAGEIF(range, criteria, [average_range])`
{% /dt %}

{% dd %}
Returns the average of cells that meet a specified criteria. **Example**: `AVERAGEIF('APM'#"env", "prod", 'APM'#"duration")` **Available in**: Sheet
{% /dd %}

{% dt %}
`AVERAGEIFS(average_range, range1, criteria1, ...)`
{% /dt %}

{% dd %}
Returns the average of cells that meet multiple criteria. **Example**: `AVERAGEIFS('APM'#"duration", 'APM'#"env", "prod", 'APM'#"service", "web")` **Available in**: Sheet
{% /dd %}

{% dt %}
`MEDIAN(value1, [value2, ...])`
{% /dt %}

{% dd %}
Returns the median (middle value) of a dataset. If the dataset has an even number of values, returns the average of the two middle values. **Example**: `MEDIAN('APM'#"duration")` **Available in**: Sheet
{% /dd %}

{% dt %}
`MODE(value1, [value2, ...])`
{% /dt %}

{% dd %}
Returns the most frequently occurring value in a dataset. **Example**: `MODE('Logs'#"status_code")` **Available in**: Sheet
{% /dd %}

{% dt %}
`PERCENTILE(data, percentile)`
{% /dt %}

{% dd %}
Returns the value at a given percentile of a dataset using linear interpolation. **Example**: `PERCENTILE('APM'#"duration", 0.95)` **Available in**: Sheet
{% /dd %}

{% dt %}
`STDEV(value1, [value2, ...])`
{% /dt %}

{% dd %}
Calculates the standard deviation of a sample dataset. **Example**: `STDEV('APM'#"duration")` **Available in**: Sheet
{% /dd %}

{% dt %}
`VAR(value1, [value2, ...])`
{% /dt %}

{% dd %}
Calculates the sample variance of a dataset. **Example**: `VAR('APM'#"duration")` **Available in**: Sheet
{% /dd %}

{% dt %}
`FORECAST(x, data_y, data_x)`
{% /dt %}

{% dd %}
Predicts a future value using existing values and linear regression. **Example**: `FORECAST(5, {1,2,3,4}, {10,20,30,40})` **Available in**: Sheet
{% /dd %}

{% dt %}
`SUMPRODUCT(array1, [array2, ...])`
{% /dt %}

{% dd %}
Multiplies corresponding elements in arrays and returns the sum of those products. **Example**: `SUMPRODUCT({1,2,3}, {4,5,6}) => 32` **Available in**: Sheet
{% /dd %}

{% /dl %}

### Financial{% #financial %}

{% dl %}

{% dt %}
`PMT(rate, number_of_periods, present_value, [future_value], [end_or_beginning])`
{% /dt %}

{% dd %}
Calculates the payment for a loan based on constant payments and a constant interest rate. **Example**: `PMT(0.05/12, 60, 20000)` **Available in**: Sheet
{% /dd %}

{% dt %}
`PV(rate, number_of_periods, payment_amount, [future_value], [end_or_beginning])`
{% /dt %}

{% dd %}
Calculates the present value of an investment. **Example**: `PV(0.05/12, 60, -377.42)` **Available in**: Sheet
{% /dd %}

{% dt %}
`FV(rate, number_of_periods, payment_amount, [present_value], [end_or_beginning])`
{% /dt %}

{% dd %}
Calculates the future value of an investment based on periodic, constant payments and a constant interest rate. **Example**: `FV(0.06/12, 240, -500)` **Available in**: Sheet
{% /dd %}

{% dt %}
`NPV(discount, cashflow1, [cashflow2, ...])`
{% /dt %}

{% dd %}
Calculates the net present value of an investment based on a discount rate and a series of future cash flows. **Example**: `NPV(0.10, -50000, 8000, 9200, 10400)` **Available in**: Sheet
{% /dd %}

{% dt %}
`IRR(cashflow_amounts, [rate_guess])`
{% /dt %}

{% dd %}
Calculates the internal rate of return for a series of cash flows. **Example**: `IRR({-50000, 8000, 9200, 10400, 11600, 12800})` **Available in**: Sheet
{% /dd %}

{% dt %}
`NPER(rate, payment_amount, present_value, [future_value], [end_or_beginning])`
{% /dt %}

{% dd %}
Calculates the number of periods for an investment or loan. **Example**: `NPER(0.05/12, -377.42, 20000)` **Available in**: Sheet
{% /dd %}

{% dt %}
`RATE(number_of_periods, payment_amount, present_value, [future_value], [end_or_beginning], [guess])`
{% /dt %}

{% dd %}
Calculates the interest rate per period of an annuity. **Example**: `RATE(48, -200, 8000)` **Available in**: Sheet
{% /dd %}

{% dt %}
`RRI(number_of_periods, present_value, future_value)`
{% /dt %}

{% dd %}
Calculates the equivalent interest rate for the growth of an investment. **Example**: `RRI(10, 100, 200)` **Available in**: Sheet
{% /dd %}

{% /dl %}

### Info{% #info %}

{% dl %}

{% dt %}
`ISBLANK(value)`
{% /dt %}

{% dd %}
Tests whether a cell is blank. **Example**: `ISBLANK(A1)` **Available in**: Sheet
{% /dd %}

{% dt %}
`ISNUMBER(value)`
{% /dt %}

{% dd %}
Tests whether a value is a number. **Example**: `ISNUMBER(123)` **Available in**: Sheet
{% /dd %}

{% dt %}
`TYPE(value)`
{% /dt %}

{% dd %}
Returns the data type of a value as a number (1 = number, 2 = text, 4 = logical, 16 = error). **Example**: `TYPE(123) => 1` **Available in**: Sheet
{% /dd %}

{% /dl %}
