500+ Google Sheets Formulas
Explore the complete Google Sheets formulas list. Every function from AI() to ZTEST(). Look at popular ones like: VLOOKUP. Or figure out what went wrong with often misused formulas like: SUMIF, and COUNTIF. Find out about my favorites like: IF & FILTER. Or just go pick a random formula to have fun with.
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
500+ functions from AI() to ZTEST(). Start with TODAY().
Returns the absolute value of a number.
ABS(value)
Calculates the accrued interest of a security that has periodic payments.
ACCRINT(issue, first_payment, settlement, rate, redemption, frequency, [day_count_convention])
Calculates the accrued interest of a security that pays interest at maturity.
ACCRINTM(issue, maturity, rate, [redemption], [day_count_convention])
Returns the inverse cosine of a value, in radians.
ACOS(value)
Returns the inverse hyperbolic cosine of a number.
ACOSH(value)
Returns the inverse cotangent of a value, in radians..
ACOT(value)
Returns the inverse hyperbolic cotangent of a value, in radians. Must not be between -1 and 1, in...
ACOTH(value)
Returns the sum of two numbers. Equivalent to the `+` operator.
ADD(value1, value2)
Returns a cell reference as a string.
ADDRESS(row, column, [absolute_relative_mode], [use_a1_notation], [sheet])
Generates text, summarizes information, categorizes information, and accesses real-time informati...
AI(prompt, [range])
Returns the depreciation for an accounting period, or the prorated depreciation if the asset was ...
AMORLINC(cost, purchase_date, first_period_end, salvage, period, rate, [basis])
Returns true if all of the provided arguments are logically true, and false if any of the provide...
AND(logical_expression1, [logical_expression2, ...])
Computes the value of a Roman numeral.
ARABIC(roman_numeral)
Enables the display of values returned from an array formula into multiple rows and/or columns an...
ARRAYFORMULA(array_formula)
Constrains an array result to a specified size.
ARRAY_CONSTRAIN(input_range, num_rows, num_cols)
Converts full-width ASCII and katakana characters to their half-width counterparts. All standard-...
ASC(text)
Returns the inverse sine of a value, in radians.
ASIN(value)
Returns the inverse hyperbolic sine of a number.
ASINH(value)
Returns the inverse tangent of a value, in radians.
ATAN(value)
Returns the angle between the x-axis and a line segment from the origin (0,0) to specified coordi...
ATAN2(x, y)
Returns the inverse hyperbolic tangent of a number.
ATANH(value)
Calculates the average of the magnitudes of deviations of data from a dataset's mean.
AVEDEV(value1, [value2, ...])
Returns the numerical average value in a dataset, ignoring text.
AVERAGE(value1, [value2, ...])
Finds the weighted average of a set of values, given the values and the corresponding weights..
AVERAGE.WEIGHTED(values, weights, [additional values], [additional weights])
Returns the numerical average value in a dataset.
AVERAGEA(value1, [value2, ...])
Returns the average of a range depending on criteria.
AVERAGEIF(criteria_range, criterion, [average_range])
Returns the average of a range depending on multiple criteria.
AVERAGEIFS(average_range, criteria_range1, criterion1, [criteria_range2, criterion2, ...])
Converts a number into a text representation in another base, for example, base 2 for binary..
BASE(value, base, [min_length])
Returns the probability of a given value as defined by the beta distribution function..
BETA.DIST(value, alpha, beta, cumulative, lower_bound, upper_bound)
Returns the value of the inverse beta distribution function for a given probability..
BETA.INV(probability, alpha, beta, lower_bound, upper_bound)
See BETA.DIST.
BETADIST(value, alpha, beta, lower_bound, upper_bound)
See BETA.INV
BETAINV(probability, alpha, beta, lower_bound, upper_bound)
Converts a signed binary number to decimal format.
BIN2DEC(signed_binary_number)
Converts a signed binary number to signed hexadecimal format.
BIN2HEX(signed_binary_number, [significant_digits])
Converts a signed binary number to signed octal format.
BIN2OCT(signed_binary_number, [significant_digits])
See BINOMDIST
BINOM.DIST(num_successes, num_trials, prob_success, cumulative)
See CRITBINOM
BINOM.INV(num_trials, prob_success, target_prob)
Calculates the probability of drawing a certain number of successes (or a maximum number of succe...
BINOMDIST(num_successes, num_trials, prob_success, cumulative)
Bitwise boolean AND of two numbers..
BITAND(value1, value2)
Shifts the bits of the input a certain number of places to the left..
BITLSHIFT(value, shift_amount)
Bitwise boolean OR of 2 numbers..
BITOR(value1, value2)
Shifts the bits of the input a certain number of places to the right..
BITRSHIFT(value, shift_amount)
Bitwise XOR (exclusive OR) of 2 numbers..
BITXOR(value1, value2)
Groups an array by columns by application of a LAMBDA function to each column.
BYCOL(array_or_range, LAMBDA)
Groups an array by rows by application of a LAMBDA function to each row.
BYROW(array_or_range, LAMBDA)
Rounds a number up to the nearest integer multiple of specified significance.
CEILING(value, [factor])
Rounds a number up to the nearest integer multiple of specified significance, with negative numbe...
CEILING.MATH(number, [significance], [mode])
Rounds a number up to the nearest integer multiple of specified significance. If the number is po...
CEILING.PRECISE(number, [significance])