Loading

Got a version of Excel that uses the
menu interface (Excel 97, Excel 2000, Excel 2002, or Excel 2003)?
**This site is for you!** If you
use a later version of Excel, visit
our *ExcelTips* site focusing on the ribbon interface.

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He is president of Sharon Parq Associates, a computer and publishing services company.

Learn more about Allen...

ExcelTips FAQ

ExcelTips Resources

Ask an Excel Question

Make a Comment

Free Business Forms

Free Calendars

** Please Note:** This article is written for users of the following Microsoft Excel versions: 97, 2000, 2002, and 2003. If you are using a later version (Excel 2007 or later),

If you want to round a number to the nearest 10, 100, or 1000, you can use the ROUND function with negative values for the second parameter. This approach works very well—and very quickly.

For instance, if you have a value in cell D6 and you want to round it to the nearest 100, you could use the following formula:

=ROUND(D6,-2)

This rounds to second digit to the left of the current decimal place. For instance, if D6 contains the value 12345, then the formula returns 12300. Similarly, if D6 contains 12351, then the formula returns 12400.

You can use the same technique to round to the nearest 10 by using -1 as the second parameter, or to the nearest 1000 by using -3.

*ExcelTips* is your source for cost-effective Microsoft Excel training. This tip (2404) applies to Microsoft Excel 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Excel (Excel 2007 and later) here: Rounding by Powers of 10.

*Related Tips:*

**Program Successfully in Excel!** John Walkenbach's name is synonymous with excellence in deciphering complex technical topics. With this comprehensive guide, "Mr. Spreadsheet" shows how to maximize your Excel experience using professional spreadsheet application development tips from his own personal bookshelf. Check out *Excel 2013 Power Programming with VBA* today!

How can we calculate in an excell sheet the value of =power(2,1000000)

The MROUND function did not work for negative numbers. To round to one significant digit, I used:

=ROUND(A1,-INT(LOG10(ABS(A1)))+0)

(Obtain additional digits by incrementing from 0. Use error handling for zero values.)

=ROUND(A1,-INT(LOG10(ABS(A1)))+0)

(Obtain additional digits by incrementing from 0. Use error handling for zero values.)

=MROUND(A1,10^(INT(LOG10(A1))+1))

slightly neater alternative

=MROUND(A1,10^(INT(LOG10(A1))-2))

Rounds to 3 significat figures

(so is correct to 1 part in a thousand, a sensible accuracy for applied maths)

slightly neater alternative

=MROUND(A1,10^(INT(LOG10(A1))-2))

Rounds to 3 significat figures

(so is correct to 1 part in a thousand, a sensible accuracy for applied maths)

Good basic tip, but it can be taken further. Excel can automatically round to the appropriate power of 10!

Use this formula:

=CEILING(A1,10*10^(INT(LOG10(A1))))

Explanation:

INT(LOG10(A1)) finds the order of magnitude of your data.

(rounded log base 10)

Example: 55.7 -> 1, 4.23 -> 0, 0.035 -> -2)

10*10^ takes the "antilog" (exponential base 10) and rounds it to the next higher power of 10

Example: 55.7 -> 100, 4.23 -> 10, 0.035 -> 0.1

Finally, CEILING( rounds up the number to the desired significance, i.e. the next higher power of 10!

Use this formula:

=CEILING(A1,10*10^(INT(LOG10(A1))))

Explanation:

INT(LOG10(A1)) finds the order of magnitude of your data.

(rounded log base 10)

Example: 55.7 -> 1, 4.23 -> 0, 0.035 -> -2)

10*10^ takes the "antilog" (exponential base 10) and rounds it to the next higher power of 10

Example: 55.7 -> 100, 4.23 -> 10, 0.035 -> 0.1

Finally, CEILING( rounds up the number to the desired significance, i.e. the next higher power of 10!