Excel & Google Sheets
Formula Templates
Copy-paste ready formulas for every common spreadsheet task. Each template includes explanations, examples, and variations.
ROI Calculator
Calculate Return on Investment percentage
=(B2-A2)/A2*100Compound Annual Growth Rate
Calculate annualized growth rate over multiple years
=(B2/A2)^(1/C2)-1Monthly Mortgage Payment (PMT)
Calculate monthly mortgage or loan payment using PMT
=PMT(A2/12, B2*12, -C2)Loan Amortization Schedule
Build a loan amortization schedule with principal and interest breakdown
=PPMT(rate/12, period, total_periods, -principal)Straight-Line Depreciation
Calculate annual depreciation using straight-line method
=SLN(A2, B2, C2)Break-Even Analysis
Calculate the break-even point in units or revenue
=A2/(B2-C2)Internal Rate of Return
Calculate the internal rate of return for a series of cash flows
=IRR(A2:A7)Net Present Value
Calculate the net present value of future cash flows
=NPV(A1, B2:B7) + B1Profit Margin Percentage
Calculate gross or net profit margin
=(A2-B2)/A2*100Sales Tax Calculator
Calculate sales tax and total price
=A2*B2Business Days Between Dates (NETWORKDAYS)
Count working days between two dates excluding weekends and holidays
=NETWORKDAYS(A2, B2)Calculate Age from Birthday
Calculate someone's age in years from their date of birth
=DATEDIF(A2, TODAY(), "Y")Determine Fiscal Quarter
Get the fiscal quarter (Q1–Q4) from a date
="Q"&ROUNDUP(MONTH(A2)/3,0)Next Specific Weekday
Find the next occurrence of a specific day of the week
=A2-WEEKDAY(A2-B2)+7Days Until a Date
Count days remaining until a future date
=A2-TODAY()Add Months to a Date
Add or subtract months from a date
=EDATE(A2, B2)Last Day of Month
Find the last day of any month
=EOMONTH(A2, 0)Hours & Minutes Between Times
Calculate the time difference in hours and minutes
=TEXT(B2-A2, "h:mm")Convert Text to Date
Parse and convert text strings into proper dates
=DATEVALUE(A2)ISO Week Number
Get the ISO week number from a date
=ISOWEEKNUM(A2)Extract Domain from Email
Pull the domain name from an email address
=RIGHT(A2, LEN(A2)-FIND("@", A2))Clean Phone Numbers
Remove formatting from phone numbers leaving only digits
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2," ",""),"-",""),"(",""),")",""),".","" )Convert to Title Case
Capitalize the first letter of each word
=PROPER(A2)Extract Numbers from Text
Pull only the numeric values from a text string
=SUMPRODUCT(MID(0&A2,LARGE(INDEX(ISNUMBER(--MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1))*ROW(INDIRECT("1:"&LEN(A2))),0),ROW(INDIRECT("1:"&LEN(A2))))+1,1)*10^ROW(INDIRECT("1:"&LEN(A2)))/10)Remove Duplicate Words
Remove repeated words from a text string
=TEXTJOIN(" ",TRUE,IF(MATCH(TEXTSPLIT(A2," "),TEXTSPLIT(A2," "),0)=SEQUENCE(LEN(A2)-LEN(SUBSTITUTE(A2," ",""))+1),TEXTSPLIT(A2," "),""))Split Full Name into First/Last
Separate a full name into first name and last name
=LEFT(A2, FIND(" ", A2)-1)Count Words in Cell
Count the number of words in a text cell
=LEN(TRIM(A2))-LEN(SUBSTITUTE(TRIM(A2)," ",""))+1Advanced Find & Replace
Find and replace text within cells using formulas
=SUBSTITUTE(A2, "old", "new")Basic Email Validation
Check if a text string is a valid email format
=AND(ISERROR(FIND(" ",A2)),LEN(A2)-LEN(SUBSTITUTE(A2,"@",""))=1,FIND("@",A2)>1,FIND(".",A2,FIND("@",A2))>FIND("@",A2)+1)Join Cells with Separator
Combine multiple cells into one with a custom separator
=TEXTJOIN(", ", TRUE, A2:D2)Fuzzy/Approximate Match
Find the closest text match in a list
=INDEX(B2:B100,MATCH(MIN(MMULT((CODE(MID(UPPER(A2),SEQUENCE(LEN(A2)),1))-CODE(MID(UPPER(B2),SEQUENCE(LEN(B2)),1)))^2,SEQUENCE(LEN(A2),1,1,0))),MMULT((CODE(MID(UPPER(A2),SEQUENCE(LEN(A2)),1))-CODE(MID(UPPER(B2),SEQUENCE(LEN(B2)),1)))^2,SEQUENCE(LEN(A2),1,1,0)),0))Multi-Criteria Lookup
Look up values using multiple conditions
=INDEX(D2:D100,MATCH(1,(A2:A100=F2)*(B2:B100=G2),0))Cascading Dropdown Values
Create dependent dropdown lists where options change based on prior selection
=INDIRECT(A2)Reverse VLOOKUP (Right to Left)
Look up values from right to left (what VLOOKUP can't do)
=INDEX(A2:A100,MATCH(D2,C2:C100,0))Two-Way Lookup (INDEX MATCH MATCH)
Look up a value at the intersection of a row and column
=INDEX(B2:F10, MATCH(H2,A2:A10,0), MATCH(I2,B1:F1,0))Return Multiple Results from Lookup
Return all matching values, not just the first one
=FILTER(B2:B100, A2:A100=D2)Find Closest Numeric Match
Find the nearest number in a list to your target value
=INDEX(A2:A100, MATCH(MIN(ABS(A2:A100-C2)), ABS(A2:A100-C2), 0))Lookup with Conditions
Combine IF logic with VLOOKUP or INDEX/MATCH
=IF(C2="Excel", VLOOKUP(A2, ExcelData, 2, FALSE), VLOOKUP(A2, SheetsData, 2, FALSE))Cross-Sheet Reference Lookup
Look up values from another sheet or workbook
=VLOOKUP(A2, Sheet2!A:C, 3, FALSE)Dynamic Named Range
Create ranges that automatically expand as data grows
=OFFSET(A1, 0, 0, COUNTA(A:A), 1)Moving Average (Rolling Average)
Calculate a rolling average over N periods
=AVERAGE(OFFSET(A2,-B$1+1,0,B$1,1))Calculate Percentile
Find the value at a specific percentile in your data
=PERCENTILE(A2:A100, 0.9)Detect Outliers (IQR Method)
Identify outlier values using the Interquartile Range method
=IF(OR(A2<QUARTILE($A$2:$A$100,1)-1.5*(QUARTILE($A$2:$A$100,3)-QUARTILE($A$2:$A$100,1)), A2>QUARTILE($A$2:$A$100,3)+1.5*(QUARTILE($A$2:$A$100,3)-QUARTILE($A$2:$A$100,1))), "Outlier", "Normal")Weighted Average
Calculate an average where some values count more than others
=SUMPRODUCT(A2:A10, B2:B10)/SUM(B2:B10)Standard Deviation Analysis
Measure the spread of data around the average
=STDEV(A2:A100)Correlation Between Datasets
Measure how strongly two variables are related
=CORREL(A2:A100, B2:B100)Frequency Distribution
Count how many values fall into each range/bin
=FREQUENCY(A2:A100, C2:C6)Period-over-Period Growth Rate
Calculate the percentage change between periods
=(A3-A2)/A2*100Linear Forecast/Trend
Predict future values based on existing trends
=FORECAST(C2, A2:A100, B2:B100)Conditional Median
Calculate the median with conditions (like MEDIANIFS)
=MEDIAN(IF(A2:A100=D2, B2:B100))