FormulaMath

Calculate percent change between two values

Turn an old and a new value into a percent-change figure, guarded so a zero starting value shows blank instead of a #DIV/0! error.

Last updated

Fill in the blanks

Assembled in your browser — nothing you type is stored or sent anywhere.

Your formula

=IF(B2=0, "", (C2-B2)/B2)

Works in both Excel and Google Sheets unless the fine print below says otherwise.

Why it's built this way

  • The core of the formula is (new minus old) divided by old — the change expressed as a fraction of where it started, which is what "percent change" means; format the cell as a percentage rather than multiplying by 100 so negative changes still read correctly.
  • The IF check runs before the division, not after — testing old_value for zero and returning an empty string short-circuits the formula before it ever attempts to divide by zero.

The fine print

  • Without the IF guard, a zero (or blank, which Excel treats as zero here) old_value produces #DIV/0! — the guard exists specifically for that case.
  • The result is a raw decimal (0.15, -0.4); it needs percentage number formatting to display as 15% or -40% — formatting the cell as text would just show the decimal.
  • A negative old_value flips the sign in a way that reads confusingly (going from -50 to 50 computes as -200%) — worth a second look wherever the "old" figure can itself be negative.

Related in Formulas