Percentage change in Excel measures how much a value has increased or decreased from a starting point to an ending point, expressed as a percent of the starting value. It is one of the most common spreadsheet calculations you will ever do: tracking month-over-month revenue, comparing this year's quiz pass rate to last year's, watching a stock price move, or measuring how a marketing experiment shifted conversion.
The math is short, but the Excel mechanics trip people up — wrong cell references, unformatted decimals showing 0.27 instead of 27%, divide-by-zero errors when the starting value is blank, and the deceptive negative-starting-value problem all show up regularly in real spreadsheets.
This guide walks through how to calculate percentage change in Excel end to end. We cover the underlying formula, the exact keystrokes to enter it, how to format the result correctly, how to copy the formula down a column without breaking references, how to handle negative or zero starting values, the difference between percentage change and percentage point change, and worked examples for sales, prices, scores, and population data. By the end you should be able to write the formula from memory, debug the most common errors, and explain the result to a colleague who does not live inside Excel.
The core formula is short. Percentage change = (New value − Old value) / Old value. Multiply by 100 if you want a raw number like 27, or format the cell as a percentage and Excel will display 27% automatically. In Excel syntax it usually looks like =(B2-A2)/A2 where A2 holds the old value and B2 holds the new value. That single formula handles increases (positive result), decreases (negative result), and stays the same regardless of whether your values are in dollars, units, scores, or any other consistent metric.
Where calculations go wrong is rarely the formula itself. Most issues come from formatting (showing 0.27 instead of 27% because the cell is set to Number not Percentage), reference errors when copying the formula down (forgetting to lock a denominator), missing data (#DIV/0! when the old value cell is blank), negative starting values that make the percentage change technically correct but semantically misleading, and rounding that hides important decimals. We will hit each of those in detail later. For now, the punchline: get the formula and the cell formatting right, and Excel does the rest.
Standard formula: =(New-Old)/Old. Example with cells: =(B2-A2)/A2. Format the result cell: select cell, press Ctrl+Shift+% (Cmd+Shift+% on Mac) to apply Percentage style. Positive result means increase; negative result means decrease. #DIV/0! error means Old value is zero or blank — wrap with IFERROR: =IFERROR((B2-A2)/A2, ""). For absolute change instead of percent: use =B2-A2. Common uses: month-over-month revenue, year-over-year growth, price change, score change, before/after experiments.
Percentage change answers the question, "how big is the change relative to where we started?" A $50 increase on a $100 starting price is huge (50% change). The same $50 increase on a $5,000 starting price is tiny (1% change). That ratio — change divided by starting value — is the entire idea. Multiplied by 100, or formatted as a percentage, it gives you a single number that compares cleanly across very different starting points and is what your audience usually wants when they ask "how much did it move?"
The algebra: if Old is the starting value and New is the ending value, then Change = New − Old, and Percentage Change = Change / Old = (New − Old) / Old. Some people remember it as (New / Old) − 1, which produces the same number. =(B2-A2)/A2 and =B2/A2-1 are mathematically identical in Excel. The first version emphasizes the change explicitly; the second version is sometimes faster to type. Use whichever reads more clearly to the people who will review your spreadsheet because both produce correct results.
One subtle but important point: percentage change can be larger than 100% in either direction for increases, but on the decrease side it can never go below −100% if the new value is a real (non-negative) quantity like revenue or units. Going from $100 to $300 is a +200% change. Going from $100 to $0 is a −100% change — the entire starting value disappeared.
There is no way to lose more than what you started with for non-negative metrics, so percentage decreases naturally cap at −100%. If you see a calculated decrease larger than −100%, something else is going on (the new value is negative, the formula is wrong, or the data is corrupted).
Percentage change is also signed: positive numbers represent increases and negative numbers represent decreases. Excel handles the sign automatically through the subtraction. If your audience expects "the price dropped 8%" stated as a positive 8 with a separate "decrease" label, you can use =ABS((B2-A2)/A2) to strip the sign and add the direction word manually. Most reports keep the sign though, because it is faster to read — readers see −8% and immediately know it dropped without parsing extra prose around the number.
Type <code>=(B2-A2)/A2</code> into the result cell where A2 is the old value and B2 is the new value. Press Enter. The cell shows a decimal like 0.27 until you format it as a percentage. This is the most common method and the one most Excel users learn first. The formula reads naturally: new minus old, divided by old. Easy to remember, easy to audit, easy to copy down a column for many rows of data at once.
Type <code>=B2/A2-1</code> instead. Mathematically identical to <code>=(B2-A2)/A2</code>. Some users prefer this version because it has fewer characters and reads as "new as a fraction of old, minus 1." The result is the same percentage change as the standard formula. Pick the version that matches how you naturally think about ratios; the spreadsheet does not care which form you use, only that the math resolves to the same number.
Name your cells: select A2 and name it Old, select B2 and name it New (via Formulas > Define Name). The formula becomes <code>=(New-Old)/Old</code>. Reads almost like English. Useful for one-off calculations or dashboards that executives will view. Adds setup time but produces much more self-documenting formulas. Best for high-visibility cells where multiple people will review the calculation logic.
<code>=IFERROR((B2-A2)/A2, "")</code> returns a blank cell instead of #DIV/0! when A2 is zero or empty. Useful when copying the formula down a column with gaps in the data. The second argument controls what shows when the calculation fails: blank string, 0, "N/A", or any other value you prefer. Slightly slower than the unwrapped formula but worth the small cost for spreadsheets that will be shared widely.
If you want to measure percentage change of many cells against a single fixed base, lock the base reference with dollar signs: <code>=(B2-$A$2)/$A$2</code>. Then copy down or across; the formula always compares to A2. Different from row-by-row pairwise comparison. Useful for index-style calculations where every row compares back to a common baseline like Year 0, Day 1, or pre-launch value rather than the immediately preceding period.
If you want the raw percentage number (27 instead of 27%) for further calculation, multiply by 100: <code>=(B2-A2)/A2*100</code>. The cell stays formatted as a number (not percentage). Useful when feeding the result into a subsequent formula that expects a number-like-27, or when exporting to other software that does not interpret the percentage format from Excel cells correctly.
Open Excel and enter your two values. In a fresh sheet, type the old value in cell A2 and the new value in B2. For example, A2 = 200 (last month's sales) and B2 = 254 (this month's sales). Click cell C2 where you want the percentage change to appear. Type the formula: =(B2-A2)/A2. Press Enter. The cell will display 0.27 — the raw decimal form of the percentage change. The math has worked; the formatting has not.
Now format the result as a percentage. Click cell C2 to select it. Use the keyboard shortcut Ctrl+Shift+% on Windows or Cmd+Shift+% on Mac. Alternatively, click the percent symbol (%) in the Home tab's Number group on the ribbon. Excel converts 0.27 into 27%. If you want decimal places (27.00% instead of 27%), click the "Increase Decimal" button in the same Number group, or use the Format Cells dialog (right-click > Format Cells > Percentage > choose decimal places).
To apply the formula across multiple rows, click C2 to select the cell with the working formula. Hover over the small square in the bottom-right corner of the cell (the fill handle). The cursor turns into a plus sign. Click and drag down to fill the formula into rows below, or double-click the fill handle to auto-fill down to the bottom of your data. Excel adjusts the row references automatically — C3 becomes =(B3-A3)/A3, C4 becomes =(B4-A4)/A4, and so on. The formatting carries down with the formula.
If your data starts in different columns, adjust the cell references but keep the formula structure. For example, if old values are in column D and new values in column E, the formula in column F is =(E2-D2)/D2. The two cells in the subtraction must be matched (same row), and the denominator must reference the same old-value cell as the one being subtracted. As long as new-minus-old over old holds, the formula works regardless of where your data lives on the sheet.
Last month: $48,200. This month: $52,750. Formula: =(52750-48200)/48200. Result: 0.09439… or 9.44% when formatted as percentage. Interpretation: sales increased by 9.44% month over month. For a sales dashboard, this would typically be reported as "+9.4% MoM" or "sales up 9% from last month." Include both the percentage change and the absolute change ($4,550) in reporting so readers see both relative and absolute context.
Old price: $89.99. New price: $74.99 (a sale). Formula: =(74.99-89.99)/89.99. Result: −0.16668… or −16.67% as percentage. Interpretation: the price dropped 16.67%. For consumer-facing display you might show "Save 17%" using =ABS((74.99-89.99)/89.99) rounded to whole percent. The signed version is more honest for analytics; the unsigned version is friendlier for marketing copy. Pick the right version for the audience.
Practice test 1: 62 out of 100. Practice test 2 (after studying): 81 out of 100. Formula: =(81-62)/62. Result: 0.30645… or 30.65%. Interpretation: the score improved by 30.65% from baseline. Note: this is not the same as the score going up by 19 percentage points (81 − 62 = 19). Percentage change measures relative growth; percentage points measure absolute difference. Both are valid; using the right one depends on the question.
2024 revenue: $1.42M. 2025 revenue: $1.78M. Formula: =(1780000-1420000)/1420000. Result: 0.25352… or 25.35%. Reported as "+25% YoY" or "revenue grew 25 percent year over year." For multi-year growth that should account for compounding (3+ years), use CAGR instead of single-period percentage change so the rate properly reflects compound growth across the entire span rather than just total endpoint-to-endpoint change.
Starting count: 1,250 units. Ending count after audit: 1,182 units. Formula: =(1182-1250)/1250. Result: −0.0544 or −5.44%. Interpretation: inventory shrank by 5.44%. The negative sign is meaningful — it tells the reader immediately that the count went down. For loss-prevention reporting, you might also surface the absolute number (68 units missing) alongside the percentage for full context that supports the operational decision the report is meant to inform.
The most common surprise after entering the percentage change formula is the result. You expect 27%; you see 0.27. Nothing is wrong with the math. Excel computes the formula and stores the raw decimal value. To display it as a percentage you need to apply the Percentage cell format. The keyboard shortcut Ctrl+Shift+% applies it instantly. The ribbon's percent button (Home tab, Number group) does the same. Format Cells dialog gives more control over decimal places, negative number display, and locale-specific separators.
If you multiply the formula by 100 to get a number like 27, do not also apply percentage formatting — that would double-display (showing 2700%). Either let Excel handle the formatting (don't multiply by 100, format as percentage) or do the math yourself (multiply by 100, leave as number, optionally append a "%" symbol via text concatenation or a custom number format that includes the symbol without scaling). Pick one approach and stay consistent across your workbook so the same value style means the same thing everywhere readers encounter it.
Decimal places matter for precision. 27% might be enough for a quick visual; 27.4% gives one decimal precision; 27.42% gives two. For financial reporting, two decimals is the common standard; for casual dashboards, zero or one decimals reduces visual noise. The Format Cells dialog lets you pick exactly how many decimal places to show. The underlying value stays at full precision; only the displayed digits change. This means you can show 27% on screen while still calculating downstream formulas using the full 0.27345 value — rounding for display does not corrupt the math.
Negative number formatting is a separate question. By default Excel displays negative percentages as −5% (with minus sign). Some styles prefer parentheses: (5%). The Format Cells dialog's Percentage category includes a sub-option for parentheses formatting on negatives. Financial spreadsheets often use parentheses for negatives to make losses stand out; analytical spreadsheets typically use signed numbers for clarity. Match the convention your audience expects. The internal value is the same either way; only the display changes based on which formatting option you select.
Once you have one working percentage change formula, the next move is usually to apply it across many rows of data. Click the cell containing the formula. Hover over the small square at the bottom-right corner — the fill handle. The cursor changes to a plus sign. Click and drag down across the rows you want to fill. Alternatively, double-click the fill handle to auto-fill down to the last row of contiguous data in the adjacent column. Excel adjusts the cell references in each filled row to match.
Relative references update automatically. =(B2-A2)/A2 in row 2 becomes =(B3-A3)/A3 in row 3, =(B4-A4)/A4 in row 4, and so on. This is usually what you want — each row's percentage change uses that row's old and new values. The behavior comes from Excel's reference style: A2, B2 without dollar signs are relative references that shift with the row when copied. If you wanted absolute references (always referring to A2 specifically regardless of where the formula is copied), you would use $A$2, but that's the exception case rather than the default for pairwise row-by-row calculations.
Errors can appear in some rows even when the formula is correct. If row 7 has a blank in column A but values in column B, the row 7 formula returns #DIV/0! because it is dividing by zero (the blank old value). The fix is the IFERROR wrapper from the previous section: =IFERROR((B2-A2)/A2, ""). Apply this version when you copy the formula down so any blank or zero old-value cells produce a clean blank result instead of the error code that disrupts visual scanning of the report.
For percentage change against a single fixed baseline (not row-by-row pairwise), lock the baseline reference with dollar signs. Example: if A2 contains the baseline (say, January's revenue) and column B contains revenue for each subsequent month in rows 2 through 13, the formula in C2 would be =(B2-$A$2)/$A$2. When you copy this down to C3, C4, etc., Excel preserves $A$2 as the denominator while letting B2 shift to B3, B4, etc. Every result row compares back to January, giving you percentage change from baseline rather than month over month.
Most percentage change calculations are simple to set up and easy to debug once you know the formula. If your numbers look wildly off, check three things first: are the references right (new minus old, not old minus new)?; are both cells formatted as Number (not Text disguised as numbers)?; and is the result cell formatted as Percentage rather than Number? Those three issues account for the large majority of percentage change problems in real spreadsheets. Going through them in order solves most cases without needing to rewrite the underlying formula.
Percentage change and percentage points sound similar but mean different things. Percentage change measures the relative change between two values: (New − Old) / Old, expressed as a percent. Percentage points measure the absolute difference between two percentages: New% − Old%. These produce very different numbers when both values are already expressed as percentages, and confusing them is one of the most common analytical errors in business reporting and journalism.
Example: a quiz pass rate goes from 60% in 2024 to 75% in 2025. The percentage point change is 75 − 60 = 15 percentage points. The percentage change is (75 − 60) / 60 = 25%, meaning the pass rate increased by 25% relative to the starting pass rate.
Both are correct; they describe different things. "The pass rate rose 15 percentage points" and "the pass rate rose 25 percent" mean the same thing about the same data but use different units. Mixing them up — "the pass rate rose 15 percent" when the actual change was 15 percentage points (or 25 percent) — misleads readers about the magnitude.
In Excel, the two calculations are different formulas. For percentage points, just subtract: =B2-A2 (assuming both cells are already percentages). For percentage change between two percentages, use the standard formula: =(B2-A2)/A2. Both produce valid results but with different interpretations. When reporting percentage results, specify which type of change you mean. "Up 15 percentage points" leaves no ambiguity; "up 15 percent" without context could mean either depending on whether the reader assumes relative or absolute change.
For consumer-facing or executive-facing reporting, percentage points are often the clearer metric when comparing two percentages because the math is intuitive (just subtract). For analytical or financial reporting, percentage change is often preferred because it normalizes for the starting point and makes comparison across different bases easier. Choose the metric that best supports the decision the report informs, and label it clearly so readers do not need to infer which type of change you calculated from context alone.
When the question is "how much did this grow proportionally?" — tracking sales month over month, comparing a metric across products with different baselines, or measuring relative change between any two values. The percentage normalizes for starting point and makes comparisons fair across very different magnitudes. Standard metric for KPI reporting and dashboards.
When the audience needs concrete numbers rather than rates. "Sales increased by $4,550" is more tangible than "sales increased 9.4%" for some audiences. Best paired with percentage change — show both for fullest context. Particularly relevant for executive reports where dollar impact drives decisions, while the percentage gives the proportional read for comparisons across periods or business units.
When measuring growth over 3+ years where compounding matters, single-period percentage change understates the rate. <a href="/excel/excel-cagr-formula">CAGR (Compound Annual Growth Rate)</a> properly accounts for year-over-year compounding. For 1-year or single-period changes, percentage change is fine. For 3-year, 5-year, or 10-year growth reporting, CAGR is the standard metric used in financial reporting and investment analysis.
When both values are already percentages (like pass rates, conversion rates, market share), the absolute difference in percentage points is often clearer than the relative percentage change. "Pass rate rose 15 percentage points" is unambiguous; "pass rate rose 25 percent" might mean either 15-point absolute increase or 25% relative increase. Label clearly to avoid confusion in reports.
The percentage change formula breaks or misleads when the old value is zero, negative, or very close to zero. Each case needs slightly different handling depending on what your underlying data represents and what the report needs to communicate.
Zero starting value produces #DIV/0! because the formula divides by zero. Mathematically the percentage change is undefined (you cannot express any new value as a percentage of zero). Practically, you have a few options. Show "N/A" or blank using IFERROR. Show a placeholder like "New" or "first occurrence" to indicate the value did not exist previously.
Or skip the row entirely from the percentage change calculation while reporting the absolute new value separately. The right choice depends on what the data represents — new customer accounts, new product launches, recovery from zero balance — and what the report needs to communicate.
Negative starting value produces a mathematically valid result that is often misleading. Going from a $50 loss to a $100 profit is genuinely a positive event, but the formula =(100-(-50))/-50 returns −3 or −300%, suggesting a decrease. The math is correct (the change is +$150 relative to a base of −$50, which is −300% of the base), but the sign convention confuses readers.
For accounting metrics that can be negative (P&L, net income, free cash flow), report absolute change rather than percentage change, or use a sign-corrected variant that flips the sign for negative bases. Many analysts simply skip percentage change reporting when bases cross zero and rely on absolute change instead.
Very small but positive starting values produce enormous percentage changes that overwhelm interpretation. Going from $1 to $100 is technically a 9,900% change. Mathematically correct, practically useless — the percentage is so large it gets rounded mentally to "a lot" and the precision becomes noise. For early-stage data or low-base metrics, show absolute change instead, or cap percentage change at some threshold and label values above the cap as ">500%" or similar. The goal is to communicate the magnitude in a form readers can usefully act on, not to maximize the precision of a number that exceeds typical mental scale.