it-roy-ru.com

Как округлить число до ближайшей десятки?

Вероятно, название не очень наводит на мысль.

Позвольте мне объяснить вам пример. Я имею:

12345.6 
2345.1
12345.00000001

Я хочу, чтобы эти числа были округлены до 12350.
Как я могу это сделать? 

Если возможно, я бы предпочел использовать формулы вместо VBA.

12
Andrei Andre

Вы также можете использовать CEILING, который округляет до целого или желаемого кратного значения

т.е.
=CEILING(A1,10)
округляет до кратного 10

12340.0001 станет 12350

25
brettdj

Используйте ROUND, но с num_digits = -1

=ROUND(A1,-1)

Также относится к ROUNDUP и ROUNDDOWN 

Из справки Excel:

  • Если num_digits больше 0 (нуля), то число округляется до указанного количества десятичных разрядов. 
  • Если num_digits равен 0, то число округляется до ближайшего целого числа. 
  • Если num_digits меньше 0, то число округляется слева от десятичной точки. 

Правка: Чтобы числа всегда округлялись, используйте =ROUNDUP(A1,-1)

22
chris neilsen

Вы можете использовать функцию MROUND(<reference cell>, <round to multiple of digit needed>).

Пример:

  1. Для значения A1 = 21, кратного 10, оно будет записано как =MROUND(A1,10) Для которой Result = 20

  2. Для значения Z4 = 55.1, кратного 10, оно будет записано как =MROUND(Z4,10) Для которой Result = 60

2
7bluephoenix

второй аргумент в ROUNDUP, например, = ROUNDUP (12345.6789,3), относится к отрицательному значению столбца base-10 с той степенью 10, которую вы хотите округлить. например, 1000 = 10 ^ 3, поэтому, чтобы округлить до следующей наибольшей 1000, используйте -3)

=ROUNDUP(12345.6789,-4) = 20,000
=ROUNDUP(12345.6789,-3) = 13,000
=ROUNDUP(12345.6789,-2) = 12,400
=ROUNDUP(12345.6789,-1) = 12,350
=ROUNDUP(12345.6789,0) = 12,346
=ROUNDUP(12345.6789,1) = 12,345.7
=ROUNDUP(12345.6789,2) = 12,345.68
=ROUNDUP(12345.6789,3) = 12,345.679

Итак, чтобы ответить на ваш вопрос: , Если ваше значение в А1, используйте = НЕДЕЛЯ (А1, -1)

1
KiwiSteve