Округление чисел в сложных условиях в формуле Excel - PullRequest
0 голосов
/ 10 марта 2011

Мне нужно округлить числа вверх / вниз (последние 2 цифры, без десятичного знака) на основе трех условий:

  1. если 00, то -1
  2. если от 01 до 49, то округлить до 50
  3. если от 51 до 98, то округлить до 99

Примеры:

  • если число 1251, то это 1299
  • если число 1298, то оно 1299
  • если число 4874, то это 4899
  • если число 1433, то это 1450
  • если число 1880, то это 1899
  • если число 1301, то это 1350
  • если число 1200, то это 1299
  • если число 1250, то оно 1250 (без изменений)
  • если число 1299, то оно 1299 (без изменений)

..................

Ответы [ 2 ]

3 голосов
/ 10 марта 2011

предполагается значение в a1

=IF(MOD(A1,100)=0,A1-1,IF(MOD(A1,100)<51,A1+50-MOD(A1,100),A1+99-MOD(A1,100)))
1 голос
/ 10 марта 2011

Попробуй это.(Это довольно приятно, кроме выдумки в конце для случая 0):

=(CEILING(A1/50,1)*50)-IF(MOD(FLOOR((A1-1)/50,1),2)=1,1,0)

Пояснение:

  1. (ПОТОЛОК (A1 / 50,1) * 50)округляет до следующих 50
  2. IF (MOD (FLOOR (A1 / 50,1), 2) = 1,1,0) сбрасывает 1, если число больше нечетного кратного 50
...