504 Google Sheets Formulas
Complete Google Sheets formulas list: every function from AI() to ZTEST(). Popular picks: IF, VLOOKUP, SUMIF, COUNTIF, and FILTER.
Try a formula
Explore
Pick a random formula and see what it does.
Random formulaGenerate
Describe your problem. Get a paste-ready formula.
Formula generatorMost used formulas
VLOOKUP
Look up a value in one column and return a match from another. Ideal for lookups, reports, and inventory.
Learn moreSUMIF
Sum values that meet one condition. Filter by region, customer, product, or any criteria you set.
Learn moreCOUNTIF
Count how often something appears in a range. Use SUMIF when you need totals instead of counts.
Learn moreMost popular formulas
IF
Branch spreadsheet logic with true/false conditions. Often paired with ISBLANK().
Learn moreFILTER
Show only rows that match your criteria. Combine with INDEX or SORT for flexible output.
Learn moreINDEX
Return a value from any position in a range. Pairs with MATCH as a flexible VLOOKUP alternative.
Learn moreMost misused formulas
VLOOKUP
Easy to reach for, easy to misuse. INDEX/MATCH is often the better long-term choice.
Learn moreSUMIF
Works for single conditions. SUMIFS handles multiple criteria more cleanly than you might expect.
Learn moreCONCATENATE
The most misspelled formula in Sheets. JOIN or the & operator are usually simpler.
Learn moreBrowse all formulas
504 functions from AI() to ZTEST(). Start with TODAY().
Returns one value if a logical expression is `TRUE` and another if it is `FALSE`.
IF(logical_expression, value_if_true, value_if_false)
Returns a filtered version of the source range, returning only rows or columns which meet the spe...
FILTER(range, condition1, [condition2])
Checks whether the referenced cell is empty.
ISBLANK(value)
Returns the content of a cell, specified by row and column offset.
INDEX(reference, [row], [column])
Appends strings to one another.
CONCATENATE(string1, [string2, ...])
Returns a count of the number of values in a dataset.
COUNTA(value1, [value2, ...])
Returns a conditional count across a range.
COUNTIF(range, criterion)
Enables the display of values returned from an array formula into multiple rows and/or columns an...
ARRAYFORMULA(array_formula)
Divides text around a specified character or string, and puts each fragment into a separate cell ...
SPLIT(text, delimiter, [split_by_each], [remove_empty_text])
Concatenates the elements of one or more one-dimensional arrays using a specified delimiter.
JOIN(delimiter, value_or_array1, [value_or_array2, ...])
Returns the relative position of an item in a range that matches a specified value.
MATCH(search_key, range, [search_type])
Transposes the rows and columns of an array or range of cells.
TRANSPOSE(array_or_range)
Returns the sum of a series of numbers and/or cells.
SUM(value1, [value2, ...])
Returns unique rows in the provided source range, discarding duplicates. Rows are returned in the...
UNIQUE(range)
Returns the first argument if it is not an error value, otherwise returns the second argument if ...
IFERROR(value, [value_if_error])
Replaces existing text with new text in a string.
SUBSTITUTE(text_to_search, search_for, replace_with, [occurrence_number])
Vertical lookup. Searches down the first column of a range for a key and returns the value of a s...
VLOOKUP(search_key, range, index, [is_sorted])
Inserts an image into a cell.
IMAGE(url, [mode], [height], [width])
Evaluates a value. If the value is an #N/A error, returns the specified value..
IFNA(value, value_if_na)
Sorts the rows of a given array or range by the values in one or more columns.
SORT(range, sort_column, is_ascending, [sort_column2], [is_ascending2])
Returns the length of a string.
LEN(text)
Returns the current date as a date value.
TODAY()
Rounds a number to a certain number of decimal places according to standard rules.
ROUND(value, [places])
Imports a range of cells from a specified spreadsheet.
IMPORTRANGE(spreadsheet_url, range_string)
Returns the concatenation of two values. Equivalent to the `&` operator.
CONCAT(value1, value2)
Creates a hyperlink inside a cell.
HYPERLINK(url, [link_label])
Returns the row number of a specified cell.
ROW([cell_reference])
Converts a specified string to lowercase.
LOWER(text)
Returns a cell reference specified by a string.
INDIRECT(cell_reference_as_string, [is_A1_notation])
Tests an expression against a list of cases and returns the corresponding value of the first matc...
SWITCH(expression, case1, value1, [default or case2, value2], …)
Creates a miniature chart contained within a single cell.
SPARKLINE(data, [options])
Converts a specified string to uppercase.
UPPER(text)
Returns a uniformly random integer between two values, inclusive.
RANDBETWEEN(low, high)
Returns a random number between 0 inclusive and 1 exclusive.
RAND()
Returns the numerical average value in a dataset, ignoring text.
AVERAGE(value1, [value2, ...])
Returns the maximum value in a numeric dataset.
MAX(value1, [value2, ...])
Returns true if all of the provided arguments are logically true, and false if any of the provide...
AND(logical_expression1, [logical_expression2, ...])
Returns specified text repeated a number of times.
REPT(text_to_repeat, number_of_repetitions)
Returns the current date and time as a date value.
NOW()
Capitalizes each word in a specified string.
PROPER(text_to_capitalize)
Returns the position at which a string is first found within text.
FIND(search_for, text_to_search, [starting_at])
Converts a number into text according to a specified format.
TEXT(number, format)
Returns a conditional sum across a range.
SUMIF(range, criterion, [sum_range])
Returns the position at which a string is first found within text.
SEARCH(search_for, text_to_search, [starting_at])
Returns the column number of a specified cell, with `A=1`.
COLUMN([cell_reference])
Whether a piece of text matches a regular expression.
REGEXMATCH(text, regular_expression)
Returns the month of the year a specific date falls in, in numeric format.
MONTH(date)
Fetches current or historical securities information from Google Finance.
GOOGLEFINANCE(ticker, [attribute], [start_date], [end_date|num_days], [interval])