Округление чисел в сложных условиях в формуле Excel
Мне нужно округлить числа вверх / вниз (последние 2 цифры, без десятичной дроби) на основе трех условий:
- если 00, то -1
- если от 01 до 49, то до 50
- если от 51 до 98, то округлить до 99
Примеры:
- если число 1251, то это 1299
- если число 1298, то это 1299
- если число 4874, то это 4899
- если число 1433, то это 1450
- если число 1880, то это 1899
- если число 1301, то это 1350
- если число 1200, то это 1299
- если число 1250, то это 1250 (без изменений)
- если число 1299, то это 1299 (без изменений)
..................
2 ответа
Решение
Предположим, что значение в a1
=IF(MOD(A1,100)=0,A1-1,IF(MOD(A1,100)<51,A1+50-MOD(A1,100),A1+99-MOD(A1,100)))
Попробуй это. (Это довольно хорошо, за исключением выдумки в конце для случая 0):
=(CEILING(A1/50,1)*50)-IF(MOD(FLOOR((A1-1)/50,1),2)=1,1,0)
По объяснению:
- (ПОТОЛОК (А1/50,1)*50) округляет до следующих 50
- IF (MOD (FLOOR (A1 / 50,1), 2) = 1,1,0) снимает 1, если число больше нечетного кратного 50