FormulaRelated Functions
Count between dates by age rangeCOUNTIFS FIND LEFT RIGHT SUMPRODUCT TEXTBEFORE
Count birthdays by yearSUMPRODUCT YEAR COUNTIFS BYROW UNIQUE SORT LET
Count cells between datesCOUNTIFS SUMPRODUCT
Count cells between two numbersCOUNTIFS SUMPRODUCT
Count cells equal toCOUNTIF SUMPRODUCT
Count cells equal to case sensitiveSUMPRODUCT EXACT
Count cells equal to one of many thingsCOUNTIF SUMPRODUCT ISNUMBER MATCH
Count cells equal to this or thatCOUNTIF SUM SUMPRODUCT
Count cells greater thanCOUNTIF COUNTIFS
Count cells less thanCOUNTIF COUNTIFS
Count cells not between two numbersCOUNTIF SUMPRODUCT
Count cells not equal toCOUNTIF COUNTIFS
Count cells not equal to many thingsMATCH ISNA SUMPRODUCT COUNTA COUNTIF
Count cells not equal to x or yCOUNTIFS SUMPRODUCT
Count cells over n charactersSUMPRODUCT LEN N
Count cells that are blankCOUNTBLANK COUNTA COUNTIF SUMPRODUCT
Count cells that are not blankCOUNTA COUNTBLANK COUNTIFS SUMPRODUCT
Count cells that begin withCOUNTIF SUMPRODUCT LEFT LEN EXACT
Count cells that contain case sensitiveSUMPRODUCT ISNUMBER FIND
Count cells that contain either x or ySUMPRODUCT ISNUMBER FIND COUNTIF
Count cells that contain errorsSUMPRODUCT ISERROR ISERR ERROR.TYPE IFERROR
Count cells that contain n charactersCOUNTIF SUMPRODUCT LEN REPT
Count cells that contain negative numbersCOUNTIF SUMPRODUCT
Count cells that contain numbersCOUNT SUMPRODUCT ISNUMBER
Count cells that contain odd numbersSUMPRODUCT ISODD MOD ISEVEN
Count cells that contain positive numbersCOUNTIF SUMPRODUCT
Count cells that contain specific textCOUNTIF SUMPRODUCT SEARCH FIND ISNUMBER
Count cells that contain textCOUNTIF COUNTIFS SUMPRODUCT ISTEXT NOT
Count cells that do not containCOUNTIF SUMPRODUCT SEARCH FIND NOT
Count cells that do not contain errorsISERROR NOT SUMPRODUCT ISERR COUNTIF
Count cells that do not contain many stringsISNUMBER SEARCH MMULT TRANSPOSE REDUCE
Count cells that end withCOUNTIF
Count columns that contain specific valuesMMULT COLUMN TRANSPOSE BYCOL LAMBDA
Count dates by day of weekSUMPRODUCT WEEKDAY MATCH
Count dates in given yearYEAR SUMPRODUCT
Count if row meets internal criteriaSUMPRODUCT
Count if row meets multiple criteriaSUMPRODUCT
Count if two criteria matchCOUNTIFS SUMPRODUCT
Count items in listCOUNTIFS
Count long numbersSUMPRODUCT COUNTIF
Count matches between two columnsSUMPRODUCT
Count matching values in matching columnsSUMPRODUCT ISNUMBER MATCH SEARCH
Count missing valuesCOUNTIF SUM SUMPRODUCT MATCH ISNA
Count non-blank cells by categoryCOUNTIFS
Count not equal to multiple criteriaSUMPRODUCT ISNA MATCH COUNTIFS
Count numbers by nth digitSUMPRODUCT MID
Count numbers by rangeCOUNTIFS FREQUENCY DROP
Count numbers that begin withSUMPRODUCT LEFT LEN COUNTIF
Count numbers with leading zerosSUMPRODUCT COUNTIF SUMIF
Count occurrences in entire workbookCOUNTIF SUMPRODUCT VSTACK
Count or sum varianceSUMPRODUCT SUM ABS
Count or sum whole numbers onlyMOD SUMPRODUCT
Count paired items in listed combinationsCOUNTIFS CONCAT
Count rows that contain specific valuesMMULT COLUMN TRANSPOSE BYROW LAMBDA
Count rows with at least n matching valuesMMULT COLUMN TRANSPOSE
Count rows with multiple OR criteriaSUMPRODUCT
Count rows with OR logicSUMPRODUCT
Count sold and remainingCOUNTA COUNTIF
Count total matches in two rangesSUMPRODUCT COUNTIF MATCH ISNUMBER COUNT
Count unique datesUNIQUE COUNT COUNTIF SUMPRODUCT
Count unique numeric values in a rangeFREQUENCY SUM COUNTIF
Count unique numeric values with criteriaFREQUENCY SUM
Count unique text values in a rangeFREQUENCY MATCH ROW SUMPRODUCT
Count unique text values with criteriaFREQUENCY MATCH ROW SUM
Count unique values in a range with COUNTIFSUMPRODUCT COUNTIF
Count visible rows in a filtered listSUBTOTAL
Count visible rows with criteriaSUBTOTAL OFFSET SUMPRODUCT INDEX
COUNTIF with non-contiguous rangeCOUNTIF INDIRECT VSTACK
COUNTIFS with multiple criteria and OR logicCOUNTIFS
Histogram with FREQUENCYFREQUENCY
Running count of occurrence in listCOUNTIF IF LET SCAN
Summary count by month with COUNTIFSCOUNTIFS EDATE
Summary count with COUNTIFCOUNTIF
Summary count with percentage breakdownCOUNTIF COUNTA
SUMPRODUCT count multiple OR criteriaSUMPRODUCT
Two-way summary countCOUNTIFS LET UNIQUE HSTACK VSTACK
FormulaRelated Functions
Calculate running totalSUM SCAN LAMBDA
Count cells that contain formulasSUMPRODUCT ISFORMULA NOT
Subtotal by colorSUMIF COUNTIF
Subtotal by invoice numberSUMIF COUNTIF
Subtotal invoices by ageSUMIF COUNTIFS
Sum across multiple worksheetsSUM
Sum across multiple worksheets with criteriaSUMPRODUCT SUMIF INDIRECT
Sum and ignore errorsSUM SUMIF AGGREGATE IFERROR
Sum bottom n valuesSUMPRODUCT SMALL SUM ROW INDIRECT
Sum bottom n values with criteriaSMALL SUM FILTER SEQUENCE
Sum by groupSUMIF SUMIFS IF
Sum by monthSUMIFS EDATE SUMPRODUCT TEXT
Sum by month ignore yearSUMPRODUCT MONTH
Sum by month in columnsSUMIFS EOMONTH
Sum by quarterSUMIFS ROUNDUP MONTH SUMPRODUCT LET LAMBDA BYROW
Sum by weekSUMIFS LET LAMBDA UNIQUE WEEKDAY BYROW HSTACK VSTACK
Sum by week numberSUMIFS WEEKNUM LAMBDA LET BYROW UNIQUE VSTACK HSTACK
Sum by weekdaySUMPRODUCT TEXT WEEKDAY
Sum by yearSUMPRODUCT YEAR SUMIFS DATE LET BYROW UNIQUE VSTACK HSTACK
Sum columns based on adjacent criteriaSUMPRODUCT
Sum entire columnSUM
Sum entire rowSUM
Sum every n rowsSUM OFFSET
Sum every nth columnFILTER SEQUENCE SUMPRODUCT COLUMN MOD
Sum every nth rowFILTER SEQUENCE MOD SUM SUMPRODUCT ROW
Sum first n matching valuesFILTER TAKE SUM
Sum first n rowsTAKE SUM OFFSET
Sum formulas onlySUMPRODUCT ISFORMULA NOT
Sum if begins withSUMIF SUMIFS
Sum if betweenSUMIFS
Sum if case-sensitiveSUMPRODUCT EXACT
Sum if cell contains text in another cellSUMIF SUMIFS SUMPRODUCT FIND ISNUMBER
Sum if cells are equal toSUMIF SUMIFS
Sum if cells are not equal toSUMIF SUMIFS
Sum if cells contain an asteriskSUMIF SUMIFS FIND FILTER
Sum if cells contain both x and ySUMIFS
Sum if cells contain either x or ySUMIFS SUMPRODUCT ISNUMBER FIND SEARCH
Sum if cells contain specific textSUMIF SUMIFS SUMPRODUCT FIND ISNUMBER
Sum if date is betweenSUMIFS DATE
Sum if date is greater thanSUMIFS SUMIF DATE
Sum if ends withSUMIF SUMIFS
Sum if greater thanSUMIF SUMIFS
Sum if less thanSUMIF SUMIFS
Sum if multiple columnsSUMPRODUCT SUMIFS FILTER SUM GROUPBY BYROW
Sum if multiple criteriaSUMIFS
Sum if not blankSUMIFS SUMPRODUCT FILTER SUM
Sum if one of many thingsSUMIFS SUMPRODUCT ISNUMBER MATCH FILTER
Sum if with multiple rangesSUMIFS LET VSTACK GROUPBY CHOOSECOLS
Sum if x or ySUMIF SUMPRODUCT ISNUMBER MATCH
Sum last 30 daysSUMIFS TODAY SUMPRODUCT FILTER
Sum last n columnsTAKE OFFSET COLUMNS INDEX SUM TRIMRANGE
Sum last n rowsTAKE SUM TRIMRANGE OFFSET INDEX
Sum matching columnsSUMPRODUCT LEFT FILTER SUM
Sum matching columns and rowsSUMPRODUCT FILTER SUM
Sum numbers in single cellTEXTSPLIT SUM FILTERXML SUBSTITUTE
Sum top n valuesSUM LARGE SEQUENCE SUMPRODUCT ROW INDIRECT
Sum top n values with criteriaSUM LARGE FILTER SEQUENCE IF
Sum visible rows in a filtered listSUBTOTAL AGGREGATE
SUMIFS with horizontal rangeSUMIFS
SUMIFS with multiple criteria and OR logicSUMIFS SUM
SUMPRODUCT with IFSUMPRODUCT IF
FormulaRelated Functions
Average and ignore errorsAVERAGEIF AGGREGATE AVERAGE IFERROR FILTER
Average by groupUNIQUE AVERAGEIFS
Average by monthAVERAGEIFS EDATE FILTER AVERAGE
Average call time per monthAVERAGEIFS EDATE FILTER AVERAGE TEXT
Average hourly pay per daySUMPRODUCT SUMIFS
Average if not blankAVERAGEIFS FILTER AVERAGE
Average if with filterAVERAGE FILTER SUMPRODUCT IF AVERAGEIFS
Average last 3 numeric valuesAVERAGE FILTER TAKE LOOKUP LARGE ROW
Average last n columnsTAKE AVERAGE OFFSET COUNT INDEX COLUMNS
Average last n rowsTAKE AVERAGE OFFSET COUNT
Average numbers ignore zeroAVERAGEIF AVERAGEIFS AVERAGE FILTER
Average salary by departmentUNIQUE AVERAGEIFS
Average top 3 scoresLARGE AVERAGE SEQUENCE
Average with multiple criteriaAVERAGEIFS
Basic average exampleAVERAGE AVERAGEIFS AGGREGATE
Moving average formulaOFFSET AVERAGE MIN
Must pass 4 out of 6 subjectsIF COUNTIF AND
Weighted averageSUMPRODUCT SUM AVERAGE TRANSPOSE
FormulaRelated Functions
Basic filter exampleFILTER
Biggest gainers and losersFILTER LARGE SMALL SORT
Combine data in multiple worksheetsVSTACK FILTER LET CHOOSECOLS
Combine rangesINDEX SEQUENCE ROWS COLUMNS LET
Count unique dates ignore timeINT UNIQUE COUNT LET LAMBDA SCAN
Count unique valuesUNIQUE COUNTA
Count unique values with criteriaUNIQUE FILTER LEN SUM COUNTA
Detailed LET function exampleLET VLOOKUP IF XLOOKUP
Distinct valuesUNIQUE
Dynamic summary countUNIQUE COUNTIF LET SORT SCAN LAMBDA
Dynamic two-way averageUNIQUE TRANSPOSE AVERAGEIFS
Dynamic two-way countUNIQUE TRANSPOSE COUNTIFS LET HSTACK VSTACK
Dynamic two-way sumUNIQUE TRANSPOSE AVERAGEIFS
Extract common values from text stringsFILTER XMATCH ISNUMBER LET SORT
Extract common values from two listsFILTER XMATCH ISNUMBER UNIQUE SORT COUNTIF
Extract numbers from textTEXTSPLIT TOROW DROP
Filter and exclude columnsFILTER SORT CHOOSECOLS TAKE
Filter and sort without errorsFILTER SORT
Filter and transpose horizontal to verticalFILTER TRANSPOSE
Filter by column, sort by rowFILTER SORT
Filter by dateFILTER MONTH YEAR DATE
FILTER case-sensitiveFILTER SEARCH ISNUMBER
Filter contains one of manyFILTER ISNUMBER MATCH
Filter data between datesFILTER DATE
Filter every nth rowFILTER SEQUENCE MOD ROW
Filter exclude blank valuesFILTER
Filter horizontal dataFILTER TRANSPOSE
FILTER last n valid entriesFILTER SEQUENCE INDEX
FILTER on first or last n valuesFILTER SEQUENCE INDEX
FILTER on top n valuesFILTER LARGE SORT
FILTER on top n values with criteriaFILTER LARGE SORT
Filter text containsFILTER SEARCH ISNUMBER
Filter this or thatFILTER
Filter to extract matching valuesFILTER COUNTIF COUNTIFS
FILTER to remove columnsFILTER MATCH ISNUMBER
FILTER to show duplicate valuesUNIQUE FILTER COUNTIF
Filter values within toleranceFILTER ABS
FILTER with complex multiple criteriaFILTER LEFT MONTH NOT
Filter with multiple criteriaFILTER
FILTER with multiple OR criteriaFILTER ISNUMBER MATCH
FILTER with partial matchFILTER SEARCH ISNUMBER
Generate random text stringsSORTBY RANDARRAY COUNTA SEQUENCE CHAR
Get column totalsBYCOL LAMBDA MMULT ROW TRANSPOSE SEQUENCE
Get row totalsBYROW LAMBDA MMULT COLUMN TRANSPOSE SEQUENCE
GROUPBY with monthly totalsGROUPBY HSTACK CHOOSECOLS TEXT MONTH SUMPRODUCT EOMONTH
GROUPBY with survey resultsGROUPBY PERCENTOF HSTACK SORTBY XMATCH CHOOSECOLS
LAMBDA append rangeLAMBDA LET INDEX SEQUENCE
LAMBDA append range horizontalLAMBDA LET INDEX SEQUENCE
LAMBDA contains one of manyLAMBDA SUMPRODUCT SUM ISNUMBER SEARCH
LAMBDA contains which thingsLAMBDA LET ISNUMBER SEARCH SORTBY
LAMBDA count wordsLAMBDA SUBSTITUTE TRIM LEN
LAMBDA replace characters recursiveLAMBDA LEFT MID LEN
LAMBDA split text to arrayLAMBDA FILTERXML TRANSPOSE
LAMBDA strip charactersLAMBDA LET MID MATCH ISNUMBER
LAMBDA strip trailing characters recursiveLAMBDA MID LEN
List upcoming birthdaysSORTBY LET TEXT INDEX SEQUENCE XMATCH
MAP with AND and OR logicMAP AND OR
Minimum value if uniqueUNIQUE MIN COUNTIF IF
Random list of namesTAKE SORTBY RANDARRAY ROWS INDEX CHOOSEROWS
Random numbers without duplicatesSEQUENCE SORTBY RANDARRAY INDEX
Random sortSORTBY RANDARRAY ROWS
Remove blank rowsFILTER BYROW
Sort birthdays by month and daySORTBY TEXT
Sort by custom listSORTBY MATCH
Sort by one columnSORT
Sort by substringSORTBY TEXTBEFORE TEXTAFTER
Sort by two columnsSORTBY
Sort text by lengthSORTBY LEN
Sort values by columnsSORT SORTBY
Sum numbers with textTEXTBEFORE TEXTAFTER UNIQUE LET LAMBDA BYROW
TEXTSPLIT get numeric valuesTEXTSPLIT VALUE IFERROR LET
Tiered discounts based on quantityMAP VSTACK DROP IF MIN MAX
Unique rowsUNIQUE SORT
Unique valuesUNIQUE
Unique values by countUNIQUE FILTER COUNTIF
Unique values case-sensitiveREDUCE LAMBDA EXACT VSTACK
Unique values from multiple rangesUNIQUE VSTACK
Unique values ignore blanksUNIQUE FILTER
Unique values with criteriaUNIQUE FILTER
Unique values with multiple criteriaUNIQUE FILTER
UNIQUE with non-adjacent columnsFILTER UNIQUE SORT
XLOOKUP match any columnMMULT SEQUENCE COLUMNS
FormulaRelated Functions
Cap percentage between 0 and 100MIN MAX MEDIAN IF
Find lowest n valuesSMALL INDEX MATCH
First in last out timesMINIFS MAXIFS MIN MAX IF FILTER
Large with criteriaLARGE FILTER IF
Larger of two valuesMAX IF
Max by monthMAXIFS MAX TEXT
Max of every nth columnMAX FILTER SEQUENCE COLUMNS CHOOSECOLS COLUMN MOD
Max value ignore all errorsAGGREGATE MAXIFS
Max value on given weekdayFILTER TEXT MAX IF AGGREGATE
Max value with variable columnINDEX MATCH MAX FILTER COUNTIF
Maximum changeMAX INDEX MATCH XLOOKUP LET HSTACK SORT VSTACK
Maximum if multiple criteriaMAX IF MAXIFS FILTER
Maximum valueMAX MAXIFS LARGE
Maximum value ifMAXIFS MAX IF FILTER BYROW VSTACK HSTACK UNIQUE
Minimum if multiple criteriaMIN IF MINIFS
Minimum valueMIN MINIFS SMALL
Minimum value ifMINIFS MIN FILTER IF BYROW VSTACK HSTACK UNIQUE
Name of nth largest valueLARGE INDEX MATCH XLOOKUP
Name of nth largest value with criteriaLARGE INDEX MATCH IF XLOOKUP
nth largest valueLARGE
nth largest value with criteriaLARGE FILTER IF
nth largest without duplicatesMAX UNIQUE IF
nth smallest valueSMALL
nth smallest value with criteriaSMALL
Smaller of two valuesMIN IF
FormulaRelated Functions
Case sensitive lookupEXACT INDEX MATCH XLOOKUP
Find closest matchXLOOKUP INDEX MATCH ABS MIN
Find longest stringXLOOKUP FILTER INDEX MATCH MAX LEN
Find longest string with criteriaXLOOKUP INDEX MATCH MAX LEN
Find missing valuesCOUNTIF IF MATCH ISNUMBER
Get address of lookup resultCELL XLOOKUP INDEX MATCH
Get all matches cell containsSEARCH ISNUMBER FILTER TEXTJOIN
Get cell content at given row and columnADDRESS INDIRECT INDEX
Get employee information with VLOOKUPVLOOKUP XLOOKUP CHOOSECOLS TAKE DROP
Get first match cell containsXLOOKUP ISNUMBER SEARCH INDEX MATCH AGGREGATE
Get first non-blank value in a listXLOOKUP NOT ISBLANK INDEX MATCH
Get first numeric value in a rangeXLOOKUP ISNUMBER INDEX MATCH
Get first text value in a rangeXLOOKUP VLOOKUP INDEX MATCH ISTEXT
Get first text value in a rowHLOOKUP XLOOKUP ISTEXT
Get information about max valueTAKE SORT MAX MATCH INDEX
Get last matchXLOOKUP XMATCH FILTER TAKE LOOKUP INDEX
Get last match cell containsXLOOKUP LOOKUP SEARCH INDEX MATCH ISNUMBER AGGREGATE
Get location of value in 2D arrayTOCOL IF ADDRESS ROW COLUMN MAP
Get nth matchFILTER INDEX CHOOSEROWS SMALL IF MIN ROW
Get nth match with INDEX / MATCHINDEX SMALL IF
Get nth match with VLOOKUPVLOOKUP COUNTIF
Get value of last non-empty cellLOOKUP XLOOKUP
INDEX and MATCH advanced exampleINDEX MATCH LEFT
INDEX and MATCH all matchesINDEX MATCH AND SUM
INDEX and MATCH all partial matchesINDEX AGGREGATE ISNUMBER SEARCH
INDEX and MATCH approximate matchINDEX MATCH
INDEX and MATCH approximate match with multiple criteriaINDEX MATCH IF
INDEX and MATCH case-sensitiveINDEX MATCH EXACT XLOOKUP
INDEX and MATCH descending orderINDEX MATCH
INDEX and MATCH exact matchINDEX MATCH TRANSPOSE
Index and match on multiple columnsMMULT COLUMN TRANSPOSE INDEX
INDEX and MATCH two-column lookupINDEX XMATCH XLOOKUP CHOOSECOLS
INDEX and MATCH with multiple criteriaINDEX MATCH
INDEX and MATCH with variable columnsINDEX XMATCH XLOOKUP CHOOSECOLS
INDEX with variable arrayINDEX MATCH CHOOSE
Join tables with INDEX and MATCHINDEX MATCH
Left lookup with INDEX and MATCHINDEX MATCH
Left lookup with VLOOKUPVLOOKUP CHOOSE
List missing valuesFILTER COUNTIF NOT
Look up and return to single cellFILTER TEXTJOIN GROUPBY LAMBDA UNIQUE ARRAYTOTEXT
Look up entire columnXLOOKUP INDEX MATCH
Look up entire rowXLOOKUP INDEX MATCH
Lookup and sum columnINDEX MATCH SUM
Lookup first negative valueXLOOKUP FILTER TAKE INDEX MATCH
Lookup last file versionLOOKUP ISNUMBER FIND
Lookup latest priceLOOKUP
Lookup lowest Monday tideINDEX MATCH IF MIN XLOOKUP
Lookup lowest valueINDEX MATCH MIN
Lookup number plus or minus NXLOOKUP ABS INDEX MATCH
Lookup up cost for product or serviceVLOOKUP
Lookup value between two numbersLOOKUP
Lookup with variable sheet nameVLOOKUP INDIRECT
Match first does not begin withINDEX MATCH LEFT
Match first errorMATCH ISERROR
Match first occurrence does not containINDEX MATCH ISNUMBER SEARCH
Match long textMATCH LEFT MID EXACT
Match next highest valueINDEX MATCH
Max if criteria matchMAX IF MAXIFS
Merge tables with VLOOKUPVLOOKUP
Multi-criteria lookup and transposeINDEX MATCH
Multiple chained VLOOKUPsVLOOKUP IFERROR
Multiple matches in comma separated listTEXTJOIN
Multiple matches into separate columnsFILTER UNIQUE SORT SEQUENCE INDEX SMALL IFERROR COLUMN COLUMNS
Multiple matches into separate rowsFILTER UNIQUE SORT TRANSPOSE INDEX SMALL IFERROR ROW ROWS
Nearest location with XMATCHINDEX XMATCH
Next largest match with the MATCH functionINDEX MATCH
Partial match with numbers and wildcardMATCH TEXT
Partial match with VLOOKUPVLOOKUP
Position of first partial matchMATCH INDEX
Position of max value in listMAX MATCH
Quantity based discountXLOOKUP INDEX MATCH IFNA
Rank and score with INDEX and MATCHRANK INDEX MATCH
Reverse VLOOKUP exampleVLOOKUP CHOOSE INDEX MATCH XLOOKUP
Self-contained VLOOKUPVLOOKUP
Step-based lookup exampleINDEX MATCH
Sum lookup values using SUMIFSUMIF SUMPRODUCT
Sum range with INDEXINDEX SUM
SUMIFS multiple criteria lookup in tableSUMIFS
SUMPRODUCT case-sensitive lookupSUMPRODUCT EXACT
Two-way approximate match multiple criteriaINDEX MATCH IF
Two-way lookup with INDEX and MATCHINDEX MATCH
VLOOKUP by dateVLOOKUP
VLOOKUP calculate gradesVLOOKUP
VLOOKUP calculate shipping costVLOOKUP MAX
VLOOKUP case-sensitiveVLOOKUP EXACT CHOOSE
VLOOKUP faster VLOOKUPVLOOKUP NA
VLOOKUP from another sheetVLOOKUP
VLOOKUP from another workbookVLOOKUP
VLOOKUP if blank return blankVLOOKUP IF
VLOOKUP override outputVLOOKUP
VLOOKUP tax rate calculationVLOOKUP
VLOOKUP two-way lookupVLOOKUP MATCH
VLOOKUP variable commission splitVLOOKUP
VLOOKUP with 2 lookup tablesVLOOKUP
VLOOKUP with multiple criteriaVLOOKUP
VLOOKUP with multiple criteria advancedVLOOKUP CHOOSE
VLOOKUP with numbers and textVLOOKUP ISTEXT IFERROR
VLOOKUP with two client ratesVLOOKUP
VLOOKUP with variable table arrayINDIRECT VLOOKUP IF
VLOOKUP without #N/A errorVLOOKUP IFERROR IFNA ISNA
XLOOKUP approximate match with multiple criteriaXLOOKUP IF FILTER
XLOOKUP basic approximate matchXLOOKUP
XLOOKUP basic exact matchXLOOKUP
XLOOKUP binary searchXLOOKUP INDEX XMATCH
XLOOKUP case-sensitiveXLOOKUP EXACT
XLOOKUP date of max valueXLOOKUP INDEX MATCH
XLOOKUP horizontal lookupXLOOKUP HLOOKUP
XLOOKUP last matchXLOOKUP
XLOOKUP latest by dateXLOOKUP MAX
XLOOKUP lookup leftXLOOKUP
XLOOKUP lookup row or columnXLOOKUP
XLOOKUP match text containsXLOOKUP SEARCH FIND ISNUMBER
XLOOKUP rearrange columnsXLOOKUP
XLOOKUP return blank if blankXLOOKUP IF LET
XLOOKUP two-way exact matchXLOOKUP INDEX MATCH
XLOOKUP wildcard contains substringXLOOKUP VLOOKUP TRANSPOSE
XLOOKUP wildcard match exampleXLOOKUP TRANSPOSE
XLOOKUP with Boolean OR logicXLOOKUP INDEX MATCH
XLOOKUP with complex multiple criteriaFILTER LEFT MONTH NOT
XLOOKUP with logical criteriaXLOOKUP
XLOOKUP with multiple criteriaXLOOKUP INDEX MATCH
XLOOKUP with regex matchXLOOKUP
XLOOKUP without #N/A errorXLOOKUP IFERROR IFNA
XMATCH reverse searchXMATCH INDEX
XMATCH with multiple criteriaXMATCH XLOOKUP INDEX MATCH
Zodiac sign lookupINDEX MATCH TEXT DATEVALUE IFNA YEAR
FormulaRelated Functions
Calculate sales commission with ifIF IFS
If cell begins with x, y, or zOR LEFT IF COUNTIF
If cell containsIF SEARCH ISNUMBER
If cell contains this or thatSEARCH ISNUMBER OR COUNTIF SUM
If cell equalsIF
If cell is blankIF ISBLANK
If cell is greater thanIF
If cell is not blankIF ISBLANK NOT
If cell is this OR thatIF OR
If cell is x or y and zIF OR AND
If complete show checkmarkIF UNICHAR CHAR
If date is between two datesIF AND
If elseIF IFS VLOOKUP
If not blank multiple cellsIF ISBLANK NOT XLOOKUP
If NOT this or thatIF OR NOT
If this AND thatIF AND
If this AND that OR thatIF AND OR
IF with boolean logicIF
IF with other calculationsIF AND
IF with wildcardsIF COUNTIF SEARCH ISNUMBER
Invoice age and statusIF TODAY
Nested IF function exampleIF IFS
Nested IF with multiple ANDIF AND OR
Only calculate if not blankIF COUNT ISBLANK COUNTBLANK AND OR
Return blank ifIF ISBLANK COUNTBLANK
FormulaRelated Functions
Categorize text with keywordsINDEX MATCH ISNUMBER SEARCH XLOOKUP
Group arbitrary text valuesVLOOKUP
Group numbers at uneven intervalsLOOKUP
Group numbers with VLOOKUPVLOOKUP
Group times into 3 hour bucketsFLOOR
Group times into unequal bucketsVLOOKUP
If cell contains one of many thingsINDEX MATCH ISNUMBER SEARCH
Map inputs to arbitrary valuesVLOOKUP CHOOSE
Map text to numbersVLOOKUP
Running count group by n sizeCOUNTA CEILING
FormulaRelated Functions
Highlight 3 smallest values with criteriaSMALL AND
Conditional formatting based on another cell
Conditional formatting based on another column
Conditional formatting column is blankOR AND NOT
Conditional formatting date past dueTODAY
Conditional formatting dates overlapSUMPRODUCT
Conditional formatting highlight target percentage
Conditional formatting last n rows
Find duplicate values in two columnsCOUNTIF AND
Gantt chartAND
Gantt chart by weekAND
Gantt chart time scheduleAND OR
Gantt chart with weekendsWEEKDAY
Highlight approximate match lookup conditional formattingLOOKUP OR AND
Highlight blank cellsISBLANK LEN
Highlight bottom valuesSMALL
Highlight cells that begin withCOUNTIF FIND
Highlight cells that containSEARCH FIND ISNUMBER
Highlight cells that contain one of manySEARCH FIND ISNUMBER SUMPRODUCT
Highlight cells that end withCOUNTIF RIGHT LEN EXACT
Highlight cells that equalEXACT
Highlight column differencesEXACT NOT
Highlight data by quartileQUARTILE
Highlight dates betweenDATE AND
Highlight dates greater thanDATE
Highlight dates in same month and yearDATE TEXT
Highlight dates in the next N daysTODAY AND
Highlight dates that are weekendsWEEKDAY OR
Highlight duplicate columnsSUMPRODUCT COUNTIF
Highlight duplicate rowsCOUNTIFS COUNTIF SUMPRODUCT
Highlight duplicate valuesCOUNTIF
Highlight entire rows
Highlight every other rowISEVEN ISODD ROW MOD
Highlight integers onlyMOD
Highlight many matching valuesCOUNTIF
Highlight missing valuesCOUNTIF
Highlight multiples of specific valueMOD
Highlight numbers that include symbolsISNUMBER MID
Highlight row and column intersection exact matchOR AND
Highlight rows that containSEARCH FIND
Highlight rows with blank cellsCOUNTBLANK
Highlight rows with dates betweenDATE AND
Highlight specific day of weekTEXT
Highlight top valuesLARGE
Highlight unique valuesCOUNTIF
Highlight unprotected cellsCELL
Highlight values betweenAND
Highlight values greater than
Highlight values not between X and YAND NOT
Shade alternating groups of n rowsROW CEILING ISEVEN ISODD
FormulaRelated Functions
Data validation allow numbers onlyISNUMBER
Data validation allow text onlyISTEXT
Data validation allow uppercase onlyUPPER EXACT AND
Data validation allow weekday onlyYEAR TODAY
Data validation date in next 30 daysAND TODAY
Data validation date in specific yearYEAR TODAY
Data validation don’t exceed totalSUM
Data validation exists in listCOUNTIF
Data validation must begin withEXACT LEFT COUNTIF
Data validation must contain specific textFIND ISNUMBER
Data validation must not containISNUMBER SEARCH SUMPRODUCT
Data validation must not exist in listCOUNTIF
Data validation no punctuationFIND COUNT
Data validation only dates betweenAND DATE
Data validation require specific multipleMOD
Data validation require unique numberAND ISNUMBER COUNTIF
Data validation specific characters onlyMATCH COUNT LEN MID INDIRECT
Data validation unique values onlyCOUNTIF
Data validation whole percentage onlyTRUNC AND
Data validation with conditional listIF
FormulaRelated Functions
Break ties with helper column and COUNTIFSMALL INDEX MATCH
Rank function exampleRANK
Rank if formulaCOUNTIFS RANK
Rank race resultsRANK
Rank values by monthLARGE INDEX MATCH TEXT IF
Rank with ordinal suffixCHOOSE ABS MOD
Rank without tiesRANK COUNTIF
FormulaRelated Functions
Get decimal part of a numberTRUNC
Get integer part of a numberTRUNC INT
Get number at place valueMOD
Round a numberROUND
Round a number downROUNDDOWN
Round a number down to nearest multipleFLOOR
Round a number to nearest multipleMROUND
Round a number upROUNDUP
Round a number up to nearest multipleCEILING
Round a number up to next halfCEILING
Round a price to end in .99ROUND MROUND
Round by bundle sizeCEILING
Round number to n significant figuresLET ROUND LOG10 INT ABS
Round price to end in .45 or .95CEILING
Round time to nearest 15 minutesMROUND CEILING FLOOR
Round to nearest 1000ROUND
Round to nearest 5MROUND CEILING FLOOR
FormulaRelated Functions
Add business days to dateWORKDAY WORKDAY.INTL
Add days exclude certain days of weekWORKDAY.INTL
Add days to dateTODAY EDATE WORKDAY
Add decimal hours to timeTIME MOD
Add decimal minutes to timeTIME MOD
Add months to dateEDATE EOMONTH
Add workdays to date custom workweekWORKDAY.INTL WORKDAY
Add years to dateDATE YEAR MONTH DAY EDATE
Assign points based on late timeIF VALUE
Basic timesheet formula with breaksMOD
Calculate date overlap in daysMAX MIN
Calculate days openTODAY IF ISBLANK
Calculate days remainingTODAY
Calculate expiration dateEOMONTH EDATE
Calculate hours between two timesIF MOD
Calculate retirement dateEDATE YEARFRAC SIGN
Calculate time before expiration dateIF DATEDIF
Calculate years between datesYEARFRAC INT
Convert date string to date timeDATEVALUE LEFT MID TIMEVALUE
Convert date to Julian formatDATE YEAR TEXT
Convert date to month and yearTEXT
Convert date to textTEXT
Convert decimal hours to Excel time
Convert decimal minutes to Excel time
Convert decimal seconds to Excel time
Convert Excel time to decimal hours
Convert Excel time to decimal minutes
Convert Excel time to decimal seconds
Convert Excel time to Unix timeDATE
Convert text date dd/mm/yy to mm/dd/yyDATE LEFT MID RIGHT TRIM
Convert text timestamp into timeTIME MID
Convert text to dateDATE LEFT MID RIGHT
Convert time to money
Convert time to time zoneMOD
Convert Unix time stamp to Excel dateDATE
Convert UTC timestamp to Excel datetimeSUBSTITUTE TEXTSPLIT TIME SUM
Count birthdays by monthSUMPRODUCT MONTH
Count calls at specific timesCOUNTIFS
Count dates in current monthCOUNTIFS EOMONTH SUMPRODUCT N
Count day of week between datesWEEKDAY ROW INDIRECT SUMPRODUCT SEQUENCE
Count holidays between two datesSUMPRODUCT
Count times in a specific rangeCOUNTIFS TIME
Create date range from two datesTEXT IF
Custom weekday abbreviationWEEKDAY CHOOSE
Date is same monthMONTH
Date is same month and yearIF AND MONTH YEAR TEXT
Date is workdayWORKDAY WORKDAY.INTL
Days in monthDAY EOMONTH
Display the current dateTODAY
Display the current date and timeNOW
Due date by categoryVLOOKUP WORKDAY XLOOKUP
Dynamic calendar formulaWEEKDAY CHOOSE TODAY SEQUENCE DATE
Dynamic calendar gridWEEKDAY CHOOSE TODAY
Dynamic date listTODAY ROWS
Extract date from a date and timeINT TRUNC
Extract date from text stringMID SEARCH REGEXEXTRACT
Extract time from a date and timeMOD INT TRUNC TIME ROUND HOUR MINUTE SECOND
Filter on dates expiring soonFILTER SORT AND TODAY
Future time intervals
Generate quarter datesEDATE SEQUENCE EOMONTH
Get age from birthdayDATEDIF TODAY DATE YEARFRAC INT
Get date from day numberDATE RIGHT LEFT
Get day from dateDAY
Get day name from dateTEXT WEEKDAY CHOOSE
Get days before a dateTODAY
Get days between datesTODAY DAYS
Get days between dates ignoring yearsDATEDIF
Get days, hours, and minutes between datesINT TEXT
Get days, months, and years between datesDATEDIF LET
Get earliest and latest project datesMINIFS MAXIFS MIN MAX IF
Get first day of monthDAY EOMONTH TODAY
Get first day of previous monthEOMONTH
Get fiscal quarter from dateMONTH CHOOSE
Get fiscal year from dateMONTH YEAR
Get last day of monthEOMONTH DATE YEAR MONTH
Get last weekday in monthEOMONTH WEEKDAY
Get last working day in monthWEEKDAY EOMONTH
Get Monday of the weekWEEKDAY
Get month from dateMONTH DATE
Get month name from dateMONTH CHOOSE TEXT
Get months between datesDATEDIF YEARFRAC MONTH YEAR
Get most recent day of weekMOD
Get next day of weekMATCH TEXT WEEKDAY
Get next scheduled eventMIN IF MINIFS INDEX MATCH
Get nth day of week in monthWEEKDAY MOD LET EOMONTH MONTH NA
Get nth day of yearDATE YEAR
Get percent of year completeYEARFRAC YEAR DATE
Get previous SundayWEEKDAY CHOOSE
Get project end dateWORKDAY WORKDAY.INTL
Get project midpointWORKDAY WORKDAY.INTL
Get project start dateWORKDAY WORKDAY.INTL
Get quarter from dateMONTH ROUNDUP
Get same date next monthEDATE
Get same date next yearEDATE
Get week number from dateWEEKNUM ISOWEEKNUM
Get work hours between datesNETWORKDAYS NETWORKDAYS.INTL
Get work hours between dates and timesNETWORKDAYS NETWORKDAYS.INTL
Get work hours between dates custom scheduleMID ROW INDIRECT WEEKDAY SUMPRODUCT
Get workdays between datesNETWORKDAYS NETWORKDAYS.INTL
Get year from dateYEAR
Happy birthday messageTEXT TODAY IF AND MONTH DAY
Hours that overlap specific time blocksMIN MAX LET LAMBDA INT MAP SEQUENCE
If Monday, roll back to FridayWEEKDAY IF
Join date and textTEXT
Last n daysAND TODAY
Last n monthsAND TODAY EOMONTH
Last n weeksAND TODAY WEEKDAY
Last updated date stampTEXT TODAY
List holidays between two datesTEXTJOIN IF
Month number from nameMONTH DATEVALUE
Next anniversary dateEDATE DATEDIF
Next biweekly payday from dateCEILING
Next business day 6 months in futureWORKDAY WORKDAY.INTL
Next working dayWORKDAY WORKDAY.INTL
Pad week numbers with zerosTEXT WEEKNUM
Parse time string to timeTIME RIGHT LEFT MID
Previous working dayWORKDAY WORKDAY.INTL
Remove time from timestampINT TRUNC
Sum by fiscal yearMONTH YEAR SUMPRODUCT SUMIF
Sum race time splitsSUM
Sum timeSUM SUMIF
Sum time by week and projectSUMIFS
Sum time over 30 minutesSUMPRODUCT TIME SUMIFS COUNTIFS
Sum time with SUMIFSSUMIFS
Time duration with daysTIME
Time in hundredths of a secondTIME SECOND TIMEVALUE MOD
Time since start in day rangesIFS IF
Timesheet overtime calculation formulaMIN
Workdays per monthNETWORKDAYS NETWORKDAYS.INTL EOMONTH
Working days in yearNETWORKDAYS NETWORKDAYS.INTL DATE TODAY
Working days left in monthNETWORKDAYS NETWORKDAYS.INTL TODAY
Year is a leap yearDATE YEAR MONTH MOD AND OR
FormulaRelated Functions
Biweekly pay scheduleSEQUENCE WORKDAY
List all dates in a monthSEQUENCE EOMONTH DAY LET
List nth weekdays of the monthLET SEQUENCE FILTER EOMONTH TEXT EDATE
List workdays between datesLET SEQUENCE FILTER WEEKDAY WORKDAY.INTL
Semimonthly pay scheduleFILTER SEQUENCE LET DAY EOMONTH WORKDAY
Sequence of custom daysWORKDAY.INTL SEQUENCE
Sequence of daysSEQUENCE
Sequence of leap yearsSEQUENCE LET FILTER MOD BYROW AND OR
Sequence of monthsSEQUENCE EDATE EOMONTH
Sequence of timesSEQUENCE TIME
Sequence of weekendsWORKDAY.INTL WEEKDAY SEQUENCE
Sequence of workdaysSEQUENCE WORKDAY.INTL ROW
Sequence of yearsSEQUENCE DATE YEAR MONTH DAY
FormulaRelated Functions
10 most common text valuesUNIQUE COUNTIF HSTACK SORT TAKE
Abbreviate names or wordsTEXTSPLIT TEXTJOIN FILTER MID CODE LEN
Add a line break with a formulaCHAR
Add line break based on OSINFO CHAR
Capitalize first letter in a text stringREPLACE UPPER LEFT MID LEN
Cell begins withLEFT EXACT COUNTIF
Cell contains all of many thingsSUMPRODUCT ISNUMBER SEARCH COUNTA COUNT
Cell contains numberFIND COUNT SEQUENCE MID LEN
Cell contains one of many thingsSUMPRODUCT ISNUMBER SEARCH
Cell contains one of many with exclusionsSUMPRODUCT ISNUMBER SEARCH
Cell contains some words but not othersCOUNT SEARCH AND
Cell contains specific textSEARCH ISNUMBER FIND REGEXTEST
Cell contains specific wordsTEXTSPLIT XMATCH COUNT COUNTA LET
Cell ends withRIGHT EXACT COUNTIF
Cell equals one of many thingsSUMPRODUCT TRIM
Clean and reformat telephone numbersTEXTSPLIT TEXTJOIN SUBSTITUTE
Compare two stringsEXACT
Conditional message with REPT functionREPT IF AND
Convert numbers to textTEXT
Convert text to numbersVALUE LEFT RIGHT REGEXREPLACE ISTEXT ISNUMBER
Count keywords cell containsSUMPRODUCT MATCH ISNUMBER SEARCH
Count line breaks in cellLEN SUBSTITUTE CHAR ISBLANK
Count numbers in text stringCOUNT SEQUENCE MID LEN INDIRECT ROW
Count specific characters in a rangeLEN SUBSTITUTE UPPER SUMPRODUCT
Count specific characters in text stringLEN SUBSTITUTE LOWER
Count specific words in a cellLEN SUBSTITUTE UPPER
Count specific words in a rangeLEN SUBSTITUTE UPPER SUMPRODUCT
Count total characters in a cellLEN
Count total characters in a rangeLEN SUMPRODUCT
Count total words in a cellLEN SUBSTITUTE TRIM
Count total words in a rangeSUMPRODUCT LEN SUBSTITUTE TRIM
Double quotes inside a formulaCHAR
Encode Unicode sequence into textUNICHAR TEXTSPLIT TEXTJOIN HEX2DEC
Extract last two words from cellMID LEN SUBSTITUTE FIND
Extract multiple lines from a cellTRIM MID SUBSTITUTE REPT LEN
Extract nth word from text stringTEXTSPLIT INDEX TRIM MID SUBSTITUTE REPT LEN
Extract substringMID
Extract text between parenthesesMID SEARCH
Extract word containing specific textMID MAX FIND SUBSTITUTE REPT TRIM
Extract word that begins with specific characterMID LEN FIND SUBSTITUTE REPT TRIM
Find and replace multiple valuesSUBSTITUTE REDUCE SEQUENCE LAMBDA REGEXREPLACE INDEX
Find nth occurrence of characterSUBSTITUTE FIND TEXTBEFORE LEN
Get first wordLEFT FIND ISERROR
Get last line in cellTRIM SUBSTITUTE RIGHT REPT CHAR
Get last wordTRIM SUBSTITUTE RIGHT REPT
Get Unicode Sequence from textUNICODE REGEXEXTRACT BASE TEXTJOIN
Join cells with commaTRIM SUBSTITUTE TEXTJOIN
MAC address formatTEXTJOIN SEQUENCE MID
Make words pluralIF IFNA VLOOKUP
Most frequent text with criteriaINDEX MATCH MODE IF
Most frequently occurring textINDEX MATCH MODE
Normalize textSUBSTITUTE TRIM LOWER
Number to wordsLET LAMBDA MOD MAP INT INDEX CHOOSE ISOMITTED
Pad text to equal lengthREPT LEN
Remove characters from rightLEFT LEN REGEXREPLACE REPLACE
Remove file extension from filenameLEFT FIND
Remove first characterREPLACE RIGHT LEN LEFT
Remove last wordTEXTBEFORE TRIM MID FIND SUBSTITUTE LEN
Remove leading and trailing spaces from textCLEAN TRIM SUBSTITUTE
Remove line breaksSUBSTITUTE CLEAN
Remove text by matchingSUBSTITUTE
Remove text by positionREPLACE
Remove text by variable positionREPLACE FIND
Remove unwanted charactersSUBSTITUTE CHAR CODE LEFT CLEAN
Replace one character with anotherSUBSTITUTE
Replace one delimiter with anotherTEXTSPLIT TEXTJOIN SUBSTITUTE CHAR
Reverse text stringTEXTJOIN MID INDIRECT SEQUENCE
Sort comma separated valuesTEXTSPLIT SORT TEXTJOIN TRIM FILTERXML
Split comma-separated values to multiple columnsTEXTSPLIT REDUCE LAMBDA DROP FILTERXML
Split dimensions into three partsTEXTSPLIT LEFT RIGHT MID LEN SUBSTITUTE
Split dimensions into two partsSUBSTITUTE LEFT RIGHT FIND
Split numbers from units of measureMAX LEFT RIGHT ISNUMBER VALUE MID
Split text and numbersFIND MIN RIGHT LEFT
Split text string at specific characterTEXTBEFORE TEXTAFTER LEFT RIGHT LEN FIND
Split text string to character arrayREGEXEXTRACT MID SEQUENCE LEN
Split text with delimiterTRIM MID SUBSTITUTE REPT LEN
Strip html from text or numbersMID LEN
Strip non-numeric charactersREGEXREPLACE TEXTJOIN SEQUENCE MID LEN ROW INDIRECT
Strip numeric characters from cellTEXTJOIN MID ROW INDIRECT SEQUENCE LET
Translate letters to numbersTEXTJOIN VLOOKUP MID ROW T
Trim text to n wordsLEFT SUBSTITUTE FIND
Validate strong passwordREGEXTEST COUNT FIND LEN UPPER ISERROR
FormulaRelated Functions
Annual compound interest scheduleFV
Annuity solve for interest rateRATE
Bond valuation examplePV FV PRICE
CAGR formula examplesGEOMEAN RRI
Calculate compound interestFV
Calculate cumulative loan interestCUMIPMT
Calculate cumulative loan principal paymentsCUMPRINC
Calculate interest for given periodPPMT
Calculate interest rate for loanRATE
Calculate loan interest in given yearCUMIPMT
Calculate original loan amountPV
Calculate payment for a loanPMT
Calculate payment periods for loanNPER
Calculate periods for annuityPMT PV FV
Calculate principal for given periodPPMT IPMT
Calculate simple interest
Compare effect of compounding periodsFV
Currency exchange rate exampleSTOCKHISTORY
Effective annual interest rateEFFECT RRI
Estimate mortgage paymentPMT PV FV
Future value of annuityFV PV
Future value vs. Present valuePV FV
Get current stock priceFIELDVALUE STOCKHISTORY
Get stock price (latest close)STOCKHISTORY TODAY LOOKUP INDEX
Get stock price last n daysSTOCKHISTORY SORT
Get stock price last n monthsSTOCKHISTORY TODAY EDATE INDEX
Get stock price on specific dateSTOCKHISTORY
Income tax bracket calculationIF LET VSTACK DROP XLOOKUP XMATCH FILTER OFFSET CHOOSECOLS
Mortgage payment scheduleLET SEQUENCE SCAN PMT IPMT PPMT HSTACK VSTACK
NPV formula for net present valueNPV
Payment for annuityPMT PV FV
Present value of annuityPV FV
Required recovery rate
Simple investing worksheetFV
Tax rate calculation with fixed baseIF
Tax rate calculation with two ratesIF
FormulaRelated Functions
Area of a circlePI POWER
Area of a parallelogram
Area of a trapezoid
Area of a triangle
Circumference of a circlePI
Distance formulaSQRT
Pythagorean theorem
Surface area of a conePI POWER
Surface area of a cylinderPI POWER
Surface area of a spherePI POWER
Volume of a conePI POWER
Volume of a cylinderPI POWER
Volume of a rectangular prism
Volume of a spherePI POWER
FormulaRelated Functions
Count errors in all sheetsSUMPRODUCT ISERROR INDIRECT HYPERLINK ISREF
Dynamic workbook referenceINDIRECT
Dynamic worksheet referenceINDIRECT
Get full workbook name and pathCELL
Get sheet name onlyCELL TEXTAFTER MID FIND
Get workbook name and path without sheetCELL LEFT FIND SUBSTITUTE LET
Get workbook name onlyCELL TEXTAFTER TEXTBEFORE MID FIND
Get workbook path onlyTEXTBEFORE CELL LEFT FIND
Indirect named range different sheetINDIRECT
List sheet index numbersSHEET
List sheet names with formulaTEXTAFTER TRANSPOSE INDEX MID ROW NOW T
Worksheet name existsISREF INDIRECT
FormulaRelated Functions
Create email address from nameLEFT LOWER CONCAT
Create email with display nameCONCAT CONCATENATE TEXTJOIN
Get domain from email addressTEXTAFTER TEXTSPLIT RIGHT LEN FIND
Get domain name from URLTEXTAFTER TEXTBEFORE LEFT FIND
Get name from email addressTEXTSPLIT TEXTBEFORE LEFT FIND
Get page from URLTEXTAFTER MID LEN FIND
Get top level domain (TLD)TEXTAFTER RIGHT LEN SUBSTITUTE FIND
Remove protocol from URLMID RIGHT LEN FIND
Remove trailing slash from urlLEN RIGHT LEFT
FormulaRelated Functions
Get first name from nameTEXTBEFORE LEFT FIND
Get first name from name with commaTEXTAFTER RIGHT LEN FIND
Get last name from nameTEXTAFTER MID LEN SUBSTITUTE FIND
Get last name from name with commaTEXTBEFORE LEFT FIND
Get middle name from full nameTEXTAFTER TEXTBEFORE MID FIND IFERROR
Join first and last nameTEXTJOIN CONCAT CONCATENATE
Put names into proper casePROPER TRIM TEXTBEFORE TEXTAFTER
Split full name into partsLET TEXTSPLIT INDEX COUNTA DROP TEXTJOIN HSTACK
FormulaRelated Functions
Calculate percent varianceABS
Calculate percentage of number
Decrease by percentage
Difference is within specific percentageIF ABS
Get amount with percentage
Get original number from percent change
Get original price from percentage discount
Get percent change
Get percentage discount
Get percentage of total
Get profit margin percentage
Get total from percentage
Increase by percentage
Percent of goal
Percent of students absent
Percent sold
Project complete percentageCOUNTA
FormulaRelated Functions
Random date between two datesRANDBETWEEN WORKDAY
Random number between two numbersRANDBETWEEN RANDARRAY
Random number from fixed set of optionsCHOOSE RANDBETWEEN
Random number weighted probabilityRAND MATCH INDEX
Random text valuesCHOOSE RANDBETWEEN
Random times at specific intervalsRAND
Random value from list or tableINDEX RANDBETWEEN ROWS
Randomly assign data to groupsRANDBETWEEN CHOOSE RANDARRAY ROWS
Randomly assign people to groupsINDEX RAND RANK ROUNDUP SEQUENCE RANDARRAY SORTBY LET
FormulaRelated Functions
Add row numbers and skip blanksCOUNTA IF ISBLANK
Address of first cell in rangeADDRESS ROW COLUMN CELL
Address of last cell in rangeADDRESS ROW COLUMN ROWS COLUMNS
All cells in range are blankSUMPRODUCT
All values in a range are at leastCOUNTIF NOT
Automatic row numbersSEQUENCE ROW INDEX COUNTA
Combine ranges with CHOOSECHOOSE
Count cells in rangeROWS COLUMNS COUNTA
Count visible columnsCELL N SUM
COUNTIFS with variable rangeCOUNTIFS OFFSET ADDRESS INDIRECT ROW
Define range based on cell valueINDEX OFFSET
Dynamic named range with INDEXINDEX COUNTA TRIMRANGE
Dynamic named range with OFFSETOFFSET COUNTA TRIMRANGE
Dynamic range between two matchesXLOOKUP INDEX MATCH COUNT
First column number in rangeROWS MIN
First match between two rangesINDEX MATCH COUNTIF
First row number in rangeROW MIN
Get address of named range or tableADDRESS ROW COLUMN ROWS COLUMNS LET TAKE LAMBDA TOCOL
Get relative column numbers in rangeCOLUMN SEQUENCE COLUMNS
Get relative row numbers in rangeROW SEQUENCE ROWS
Last column number in rangeCOLUMN COLUMNS MIN
Last n rowsTAKE SORTBY SEQUENCE ROW ROWS INDEX
Last row in mixed data with blanksMATCH
Last row in mixed data with no blanksCOUNTA
Last row in numeric dataMATCH
Last row in text dataMATCH REPT
Last row number in rangeROW ROWS MIN
Multiple cells are equalAND EXACT
Multiple cells have same valueCOUNTIF AND
Multiple cells have same value case sensitiveEXACT SUMPRODUCT COUNTA
Multiple columns are equalAND COUNTIF
Range contains a value not in another rangeSUMPRODUCT MATCH ISNA
Range contains numbersSUMPRODUCT ISNUMBER
Range contains specific dateCOUNTIFS DATE TODAY
Row is blankSUMPRODUCT BYROW LAMBDA
Total columns in rangeCOLUMNS
Total rows in rangeROWS
FormulaRelated Functions
Automatic row numbers in TableROW INDEX
Average last N values in a tableINDEX AVERAGE ROWS
Basic inventory formula exampleSUMIFS
Count table columnsCOLUMNS
Count table rowsROWS
COUNTIFS with variable table columnCOUNTIFS INDEX MATCH INDIRECT
Dynamic reference to tableINDIRECT
Get column index in Excel TableMATCH
Get column name from index in tableINDEX
Percentile IF in tablePERCENTILE
Running count in TableINDEX SUM
Running total in TableINDEX SUM
Sum multiple tablesSUM
SUMIFS vs other lookup formulasSUMIFS INDEX MATCH LOOKUP XLOOKUP SUMPRODUCT
SUMIFS with Excel TableSUMIFS
Two-way lookup VLOOKUP in a TableVLOOKUP MATCH
Two-way summary with SUMIFSSUMIFS
FormulaRelated Functions
How to fix a circular reference error
How to fix the #### (hashtag) error
How to fix the #CALC! errorIFERROR ISERROR ERROR.TYPE
How to fix the #DIV/0! errorIFERROR ISERROR ERROR.TYPE
How to fix the #N/A errorVLOOKUP IFERROR MATCH
How to fix the #NAME? errorIFERROR ISERROR ERROR.TYPE
How to fix the #NULL! errorIFERROR ISERROR ERROR.TYPE
How to fix the #NUM! errorIFERROR ISERROR ERROR.TYPE
How to fix the #REF! errorISREF IFERROR
How to fix the #SPILL! errorIFERROR ISERROR ERROR.TYPE
How to fix the #VALUE! errorIFERROR ISERROR ERROR.TYPE
FormulaRelated Functions
Abbreviate state namesVLOOKUP INDEX MATCH
Add leading zeros to numbersTEXT
All dates in chronological orderIF SUMPRODUCT SORT
Basic array formula exampleMAX MIN
Basic attendance tracking formulaCOUNTIF
Basic error trapping exampleIFERROR
Basic in cell histogramREPT CHAR
Basic numeric sort formulaRANK COUNTIF
Basic outline numberingCOUNTA MID FIND LEN
Basic text sort formulaRANK COUNTIF
BMI calculation formulaCONVERT POWER
Build hyperlink with VLOOKUPHYPERLINK VLOOKUP
Calculate a ratio from two numbersGCD
Calculate win loss tie totalsSUMPRODUCT
Cap percentage at 100MIN
Cap percentage at specific amountMIN
Carry-on baggage Inches to centimetersCONVERT
Cash denomination calculatorSUMPRODUCT INT LET SCAN MOD DROP HSTACK
Celsius to Fahrenheit conversionCONVERT NOT ISBLANK
Change negative numbers to positiveABS
Check register balanceIF AND ISBLANK
Coefficient of variationSTDEV.P STDEV.S AVERAGE
Conditional median with criteriaMEDIAN
Conditional mode with criteriaMODE
Convert column letter to numberCOLUMN INDIRECT
Convert column number to letterADDRESS SUBSTITUTE TEXTBEFORE
Convert expense time unitsINDEX MATCH
Convert feet and inches to inchesLEFT FIND MID SUBSTITUTE
Convert inches to feet and inchesINT MOD REPT ABS LET
Convert negative numbers to zeroMAX
Convert numbers to 1 or 0IF
Convert pounds to kilogramsCONVERT
Copy value from every nth columnOFFSET COLUMN
Copy value from every nth rowOFFSET ROW
Cost of living adjustment
Count consecutive monthly ordersFREQUENCY MAX IF
Count values out of toleranceSUMPRODUCT ABS
Count with repeating valuesROUNDUP COLUMN ROW
Course completion status summaryCOUNTIFS
Course completion summary with criteriaCOUNTIFS
Create array of numbersINDIRECT ROW
Cube root of numberPOWER
Customer is newCOUNTIFS
Display sorted values with helper columnINDEX MATCH ROWS
Dropdown sum with all optionSUMIF SUM IF
Easy bundle pricing with SUMPRODUCTSUMPRODUCT
Expense begins on specific monthIF
Extract unique items from a listINDEX MATCH COUNTIF LOOKUP
Filter values in array formulaISNUMBER MATCH IF COUNT
Fixed value every N columnsMOD COLUMN
Flag first duplicate in a listCOUNTIF COUNTIFS
Flip table rows to columnsTRANSPOSE
Forecast vs actual varianceSUMIFS
Formula with locked absolute referenceINDIRECT
Get date associated with last entryLOOKUP
Get first entry by month and yearINDEX MATCH TEXT
Get last entry by month and yearLOOKUP TEXT
Get pivot table grand totalGETPIVOTDATA
Get pivot table subtotalGETPIVOTDATA
Get pivot table subtotal grouped dateGETPIVOTDATA
Hyperlink to first blank cellHYPERLINK CELL INDEX MATCH
Hyperlink to first matchHYPERLINK CELL INDEX MATCH
Increment a calculation with ROW or COLUMNROW COLUMN
Increment a number in a text stringRIGHT TEXT
Increment cell reference with INDIRECTINDIRECT CELL
Leave a comment in a formulaN
Link to multiple sheetsHYPERLINK CELL INDEX MATCH
List most frequently occurring numbersMODE ISNUMBER MATCH
Longest winning streakSCAN FREQUENCY MAX IF LET FILTER VSTACK DROP
Lookup last file revisionSEARCH ISERROR MAX INDEX IF ROW
Mark rows with logical testsCOUNTIFS IF
Most frequently occurring numberMODE
Multiplication table formula
New customers per monthCOUNTIFS EOMONTH
Nightly hotel rate calculationSUMPRODUCT FILTER INDEX MATCH
Normalize size units to GigabytesMATCH LEFT RIGHT
nth root of numberPOWER
Number is whole numberMOD TRUNC INT
Odometer gas mileage logSUM MAX MIN
One or the other not bothXOR
Pad a number with zerosTEXT REPT
Parse XML with formulaFILTERXML
Random sort formulaINDEX MATCH
Range contains duplicatesOR COUNTIF SUMPRODUCT
Range contains one of many substringsSUMPRODUCT COUNTIF
Range contains one of many valuesSUMPRODUCT ISNUMBER SEARCH
Range contains specific textCOUNTIF
Repeat fixed value every 3 monthsMOD DATEDIF
Repeat range of valuesSEQUENCE MOD CHOOSEROWS CHOOSECOLS
Repeat sequence of numbersSEQUENCE MOD
Return array with INDEX functionINDEX MATCH N
Reverse a list or rangeROWS ROW SORTBY SEQUENCE TEXTSPLIT TEXTJOIN REDUCE INDEX
Risk Matrix ExampleINDEX MATCH
Score quiz answers with keySUM COUNTA
Search entire worksheet for valueCOUNTIF
Search multiple worksheets for valueCOUNTIF INDIRECT
Send email with formulaHYPERLINK
Show formula text with formulaFORMULATEXT IFERROR ISFORMULA
Simple currency conversionVLOOKUP IF
Sort and extract unique valuesMMULT TRANSPOSE INDEX MATCH
Sort numbers ascending or descendingSMALL LARGE
Sort text and numbers with formulaRANK COUNTIF COUNT
Split payment across monthsAND
Square root of numberSQRT POWER ABS
Standard deviation calculationSTDEV.P STDEV.S STDEV STDEVP
Student class enrollment with tableIF COUNTIF
Sum every 3 cellsOFFSET COLUMN
Sum Roman numbersARABIC ROMAN SUMPRODUCT SUM
Sum text values like numbersINDEX MATCH N
Text is greater than numberCOUNTIF COUNTIFS SUMPRODUCT ISNUMBER
Transpose table without zerosTRANSPOSE IF
Unwrap column into fieldsOFFSET TRANSPOSE ROW
Validate input with check markIF COUNTIF
Value exists in a rangeCOUNTIF MATCH ISNUMBER
Value is between two numbersAND MAX MIN
Value is within toleranceIF ABS
Volunteer hours requirement calculationAND COUNTIF SUM

Explanation

The default behavior of the MATCH function is to match the “next smallest” value in a list that’s sorted in ascending order. Essentially, MATCH moves forward in the list until it encounters a value larger than the lookup value, then drops back to the previous value.

So, when lookup values are sorted in ascending order, both of these formulas return “next smallest”:

=MATCH(value,array) // default
=MATCH(value,array,1) // explicit

However, by setting match type to -1, and sorting lookup values in descending order, MATCH will return the next largest match. So, as seen in the example:

=MATCH(F6,length,-1)

returns 4, since 400 is the next largest match after 364.

Find associated cost

The full INDEX/MATCH formula to retrieve the associated cost in cell F8 is:

=INDEX(cost,MATCH(F6,length,-1))

Explanation

Working from the inside out, we use the DATEDIF function to calculate how many complete years are between the original anniversary date and the “as of” date, where the as of date is any date after the anniversary date:

DATEDIF(B5,C5,"y")

Note: in this case, we are arbitrarily fixing the “as of” date as June 1, 2017 in all examples.

Because we are interested in the next anniversary date, we add 1 to the DATEDIF result, then multiply by 12 to convert to years to months.

Next, the month value goes into the EDATE function, with the original date from column B. The EDATE function rolls the original date forward by the number of months given in the previous step which creates the next upcoming anniversary date.

As of today

To calculate the next anniversary as of today, use the TODAY() function for the “as of” date:

=EDATE(date,(DATEDIF(date,TODAY(),"y")+1)*12)

Explanation

This formula depends on the CEILING function , which rounds numbers up to a given multiple. It works because of how dates work in Excel’s default 1900 date system, where the first day is the number 1, which is Sunday, January 1, 1900.

In this scheme, the first Friday is day number 6, the second Friday is day number 13, and day 14 is the second Saturday. What this means is that all second Saturdays in the future are evenly divisible by 14.

The formula uses this fact to figure out 2nd Saturdays, then subtracts 1 to get the Friday previous.

The other Friday

If you need to get the alternate Friday in an every-other-Friday scheme, you can use this version of the formula:

=CEILING(A1+8,14)-8

The idea is the same, but the formula needs to roll forward 8 days to get to an even multiple of 14. Once CEILING returns a date, 8 days are subtracted to move back to the Friday previous.

Note: I ran into this formula as an answer on stack overflow by the awesome Barry Houdini.

Explanation

Working from the inside out, EDATE first calculates a date 6 months in the future. In the example shown, that date is December 24, 2015.

Next, the formula subtracts 1 day to get December 23, 2015, and the result goes into the WORKDAY function as the start date, with days = 1, and the range B9:B11 provided for holidays.

WORKDAY then calculates the next business day one day in the future, taking into account holidays and weekends.

If you need more flexibility with weekends, you can use WORKDAY.INTL.

Explanation

In the worksheet shown, column B contains 12 dates. The goal is to calculate the next working day after each date, taking into account weekends (Saturday and Sunday) and the holidays listed in column F. In other words, the formula should automatically skip weekends and any dates defined as non-working days.

WORKDAY function

The WORKDAY function takes a date and returns the next working day n days in the future or past. You can use WORKDAY to calculate things like ship dates, delivery dates, and completion dates that need to take into account working and non-working days. The generic syntax for WORKDAY looks like this:

=WORKDAY(start_date,days,[holidays])

Where days is a number (n) and holidays is an optional range that contains non-working dates. For this problem, we want the next working day, so we provide 1 for days . The formula in D5, copied down, looks like this:

=WORKDAY(B5,1,holidays)

Where holidays is the named range F5:F15, which contains days that should be excluded. The WORKDAY function is fully automatic. Given a valid date, it will add days to the date, skipping weekends and holidays. Named ranges behave like absolute references by default, so the range will not change as the formula is copied down. Without a named range, you will need to lock the reference like this:

=WORKDAY(B5,1,$F$5:$F$15)

As the formula is copied down, it returns the next business day after the starting date in column B. Saturdays and Sundays are automatically skipped, as well as any dates that appear in the range F5:F15.

Current date or next workday

There may be situations where you want to return the current date when it’s a working day or the next working date if not. To do this, you can adjust the formula like so:

=WORKDAY(B5-1,1,holidays)
Formula for current date or the next working day - 1

Here, we first subtract 1 day from the date inside the WORKDAY function, then feed that date to WORKDAY as the start_date . WORKDAY then moves forward one day to the original date and checks the result. If the original date is a working day, WORKDAY returns the date unchanged. Otherwise, WORKDAY will continue to move forward one day at a time, skipping weekends and holidays along the way, until it finds a valid workday. You can see the result in the worksheet above.

Custom weekends

The WORKDAY function defines a weekend as Saturday and Sunday only. If you need more flexibility on which days of the week are considered weekends or working days, use the WORKDAY.INTL function instead. For example, to calculate the next working day for this example with a standard work week of Monday-Thursday, where weekend days are Friday, Saturday, and Sunday, you can use WORKDAY.INTL like this:

=WORKDAY.INTL(B5,1,"0000111",holidays)

WORKDAY.INTL includes an extra argument called weekend that can be provided as a string of 1s and 0s like “0000111”. In this scheme, a 1 indicates a weekend and a 0 indicates a workday. For more details, see How to use the WORKDAY.INTL function .