Skip to footer content
EXCEL TOOLS

How to Calculate Percentage Change in Excel (Every Method)

Percentage change measures how much a number has grown or shrunk compared with an earlier figure, and it ranks among the most common calculations in any workbook that tracks sales data, budgets, headcount, or website traffic. The process stays the same whether the result is an increase or decrease: subtract the original value from the new value, then divide that difference by the original value.

In Excel, comparing two figures takes a single entry. If the original value sits in cell A2 and the new value sits in cell B2, click an empty cell, type the following formula, =(B2-A2)/A2, and press Enter. The answer appears as a decimal such as 0.25. Press Ctrl + Shift + % while that cell is selected, and Excel converts the decimal into the percentage value 25%, which is the finished result. One formula plus percentage formatting is the fastest route from raw numbers to a percentage in Excel.

The rest of this article covers every other way to calculate percent change: ribbon buttons, the right-click menu, filling a column of sales data in one action, measuring against a fixed baseline, PivotTable operations, average growth across several periods, and a macro for anyone who repeats the task weekly. Excel users who also handle formulas and calculations in spreadsheets programmatically will find a code-based solution at the end.

Percentage change formula entered in a cell

Method 1: The Standard Percent Change Formula

This is the method to reach for in almost every situation.

  1. Place the older and newer figures in two separate cells, for example A2 and B2.
  2. Click the cell where the answer should appear, such as C2.
  3. Type =(B2-A2)/A2 and press Enter.
  4. With the result cell still selected, press Ctrl + Shift + % to apply percentage formatting.

A positive result means growth and a negative result means a decline, so a drop from 200 to 150 returns -25% with the minus sign added automatically.

The percentage shortcut rounds to whole numbers. To display one or two decimal places, click Increase Decimal in the Number group on the Home tab, or press Alt + H + 0 once for each extra decimal place. Anyone who works with cell formatting and number display rules will recognise this as a display change only, since the stored value stays the same.

Method 2: The Shorter Division Formula

The same answer comes from dividing the new value by the original value and subtracting one:

=B2/A2-1

This version returns an identical result with fewer parentheses, which helps inside long formulas where brackets stack up quickly. A result of 1.25 with 1 subtracted gives 0.25, and percentage formatting converts that decimal into 25%.

Percentage Increase and Percentage Decrease Use the Same Formula

A frequent question is whether percentage increase and percentage decrease need different approaches. They do not. To calculate percentage increase, subtract the old figure from the new one and divide by the old figure, which is the identical routine used for a decline. The same formula covers both, and the sign of the answer states the direction, expressed as a positive or negative percentage.

  • Earnings rising from 4,000 to 5,000 across two months: =(5000-4000)/4000 returns 25%, a percentage increase.
  • Earnings falling from 5,000 to 4,000: =(4000-5000)/5000 returns -20%, a percentage decrease.

Note that the two results differ in size even though the same two numbers are involved, because each calculation is divided by a different starting point. Order matters, and the older figure always belongs in the denominator when calculating percentage change.

Method 3: Apply Percentage Formatting from the Ribbon

Keyboard shortcuts are optional. The same formatting sits two clicks away.

  1. Select the cells holding the results.
  2. Open the Home tab.
  3. In the Number group, click the % button, labelled Percent Style.

The dropdown directly above that button also holds a Percentage entry, which applies two decimal places by default.

Percent Style button in the Number group

Method 4: Format Cells Through the Right-Click Menu

The Format Cells dialog gives the most control over decimals, negative number colours, and thousands separators.

  1. Select the result cells.
  2. Right-click and choose Format Cells, or press Ctrl + 1.
  3. Choose Percentage in the Category list.
  4. Set the number of decimal places and click OK.

Format Cells dialog set to Percentage

Method 5: Calculate Percentage Change Down a Whole Column

Monthly and quarterly reports usually repeat the calculation for every row of sales data.

  1. Enter the percentage change formula in the first result cell, for example, =(B2-A2)/A2 in C2.
  2. Hover over the small square at the bottom right corner of that cell, known as the fill handle.
  3. Double-click the square. Excel copies the formula down to the last row of adjacent data.

Drag the fill handle downward instead when the neighbouring column contains gaps. Excel adjusts the row numbers automatically, so C3 becomes =(B3-A3)/A3.

For a month-over-month column where each row compares itself with the row above, start the formula on the second data row: =(B3-B2)/B2.

Method 6: Percentage Change Against a Fixed Baseline

Year-to-date reporting compares every month with a single starting figure. Locking that cell with dollar signs keeps the reference fixed while the formula copies across or down.

=(C2-$B$2)/$B$2

Pressing F4 after clicking a cell reference inserts the dollar signs automatically. Copy the formula across twelve columns and every month still measures against January.

Method 7: Percentage Change Inside a PivotTable

PivotTables produce percentage change without any formula at all, which suits source data that changes often.

  1. Build the PivotTable and drag the value field into the Values area a second time.
  2. Right-click any number in that second column and choose Show Values As.
  3. Select % Difference From.
  4. Set the Base field to the date or period field, then set the Base item to (previous).

The column now shows period-over-period percent change and refreshes whenever the underlying data updates.

Method 8: Percentage Change in an Excel Table

Data converted into a table with Ctrl + T supports column names inside formulas:

=([@[2025 Sales]]-[@[2024 Sales]])/[@[2024 Sales]]

Typing the formula once fills the entire column, and new rows added to the bottom of the table inherit the same formula.

Method 9: Average Percentage Change Across Several Periods

Taking a simple average of a column of percentages produces a misleading figure, because each period compounds on the one before it. The compound annual growth rate handles this correctly:

=(B10/B2)^()-1

Here B2 holds the first value, B10 holds the last value, and 8 is the number of periods between them. Apply percentage formatting to the output as usual.

Method 10: A Macro for Repeat Reporting

Teams that rebuild the same report every week can automate the column with a short macro. Press Alt + F11, choose Insert > Module, and paste:

Sub PercentageChange()
    Dim lastRow As Long
    lastRow = Cells(Rows.Count, "A").End(xlUp).Row
    Range("C2:C" & lastRow).Formula = "=(B2-A2)/A2"
    Range("C2:C" & lastRow).NumberFormat = "0.0%"
End Sub

Save the workbook in .XLSM format so the macro survives closing the file.

Method 11: Power Query for Imported Data

When figures arrive from a CSV export or a database, Power Query adds the column during the import step. Select the two numeric columns, open Add Column > Custom Column, and enter:

([New] - [Old]) / [Old]

Set the new column type to Percentage. The calculation reruns on every refresh, which keeps manual input out of the process.

Percentage Change Compared With Percentage Difference

The two terms describe different calculations, and mixing them up produces answers that look slightly off.

  • Percentage change measures movement from an earlier value to a later one, divided by the earlier value: =(B2-A2)/A2.
  • Percentage difference compares two numbers where no starting point exists, such as two regional teams. The gap is divided by the average of the two figures: =ABS(B2-A2)/AVERAGE(A2:B2).

Percentage change belongs in trend reporting. Percentage difference belongs in side-by-side comparisons where neither value came first.

Formatting Touches That Make the Numbers Readable

  • Show plus and minus signs. In Format Cells, choose Custom and enter +0.0%;-0.0%;0.0% so gains carry a visible plus sign.
  • Colour the declines. The custom format [Green]+0.0%;[Red]-0.0% tints each result by direction.
  • Add arrows. Home > Conditional Formatting > Icon Sets applies up and down arrows based on the value.

Common Issues and Troubleshooting

The result shows #DIV/0! The original value is zero or blank, and division by zero is undefined. Wrap the formula to catch such errors: =IFERROR((B2-A2)/A2,""). Percentage change from a starting point of zero has no mathematical meaning, so a blank cell is a more honest solution than a number.

The result shows a decimal such as 0.25 instead of 25%. The formula is correct, and only the percentage formatting is missing. Select the cell and press Ctrl + Shift + %.

The answer looks 100 times too large. Multiplying the formula by 100 while the cell also carries percentage formatting applies the conversion twice. Remove the *100 and let the format handle the display.

Typing 5 into a percentage cell produces 500%: Automatic percent entry is switched off. Open File > Options > Advanced and tick Enable automatic percent entry.

The formula returns a date or unreadable text: The cell was formatted as Date or Text before the input was entered. Set it back to General or Percentage with Ctrl + 1, then press F2 and Enter to force a recalculation.

Everything reads 0% - The percentage shortcut rounds to whole numbers, so a change of 0.4% displays as 0%. Add decimal places with Alt + H + 0.

Negative starting values produce a backwards result - A move from -100 to -50 is an improvement, yet the standard percent change formula reports it with a flipped sign. Divide by the absolute value instead: =(B2-A2)/ABS(A2).

Percentage change confused with percentage points. A conversion rate moving from 4% to 5% is a rise of one percentage point and a 25% relative increase. Label report columns clearly so the two stay apart.

Copied formulas point at the wrong cells. Relative references shift when a formula is pasted. Lock the baseline cell with dollar signs, as shown in Method 6.

Calculating Percentage Change Programmatically with IronXL

Recurring reports that pull figures from a database or an internal system are often better handled in code than by hand. IronXL is a C# Excel library that reads and writes XLSX files directly, with no copy of Microsoft Excel or Interop required on the machine.

using IronXL;

// Open the input workbook and select the first worksheet
WorkBook workBook = WorkBook.Load("sales.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Write a percentage change formula for each data row
for (int row = 2; row <= 13; row++)
{
    workSheet[$"D{row}"].Formula = $"=(C{row}-B{row})/B{row}";
}

// Display the output as percentages with one decimal place
workSheet["D2:D13"].FormatString = "0.0%";

workBook.SaveAs("sales-with-change.xlsx");
using IronXL;

// Open the input workbook and select the first worksheet
WorkBook workBook = WorkBook.Load("sales.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Write a percentage change formula for each data row
for (int row = 2; row <= 13; row++)
{
    workSheet[$"D{row}"].Formula = $"=(C{row}-B{row})/B{row}";
}

// Display the output as percentages with one decimal place
workSheet["D2:D13"].FormatString = "0.0%";

workBook.SaveAs("sales-with-change.xlsx");
Imports IronXL

' Open the input workbook and select the first worksheet
Dim workBook As WorkBook = WorkBook.Load("sales.xlsx")
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet

' Write a percentage change formula for each data row
For row As Integer = 2 To 13
    workSheet($"D{row}").Formula = $"=(C{row}-B{row})/B{row}"
Next

' Display the output as percentages with one decimal place
workSheet("D2:D13").FormatString = "0.0%"

workBook.SaveAs("sales-with-change.xlsx")
$vbLabelText   $csharpLabel

The saved file opens in Excel with live formulas rather than static text, so the percentage value in every row continues to update when the source figures change.

Conclusion

Calculating percentage change comes down to one formula, =(B2-A2)/A2, followed by percentage formatting. From there, the method depends on the job: fill handles for long columns of sales data, absolute references for a fixed baseline, PivotTable operations for figures that refresh, and CAGR for growth measured across several periods. The troubleshooting notes above cover the errors that appear most often, particularly division by zero and negative starting values.

For reports produced on a schedule or generated by an application, the same calculation belongs in code. IronXL writes the formulas, applies the number formats, and saves a working XLSX file in a few lines, and the wider set of resources also covers reading existing Excel files and building workbooks from scratch. A free trial is available for anyone who wants to test the process against a real spreadsheet first.

Curtis Chau
Technical Writer

Curtis Chau holds a Bachelor’s degree in Computer Science (Carleton University) and specializes in front-end development with expertise in Node.js, TypeScript, JavaScript, and React. Passionate about crafting intuitive and aesthetically pleasing user interfaces, Curtis enjoys working with modern frameworks and creating well-structured, visually appealing manuals.

...

Read More

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me