Excel: альтернатива CEILING для округления до ближайшего значения
Обычно я спрашиваю о работе, так что здесь что-то другое. Чтобы приблизиться к своему новогоднему разрешению самым дерзким способом, я создаю программу спортзала в файле Excel. Я буду делать набеги с наборами, а это значит, что с каждым набором я увеличиваю вес на 10% Формула, которую я использую, позволяет вводить базовый вес (например, максимум на прошлой неделе) и вычисляет все предыдущие наборы, округленные, увеличивающиеся или уменьшающиеся, до ближайших 2,5 кг (по 1,25 кг плит на каждой стороне стержня; наименьший доступный прирост).
=CEILING(($B13 - ($A$2 * 0.1)) - 1.25, 1.25 * 2)
В этой формуле B13 - следующий набор после этого, а A2 - базовый вес. Таким образом, каждый набор на 10% от базового веса меньше, чем набор после него, округленный до ближайших 2,5 кг с помощью функции ПОТОЛОК.
Вот кикер: устройство, которое я возьму с собой, - это Windows Phone 7 (я знаю, я знаю!). Его программа Excel, очевидно, не поддерживает функцию CEILING (или FLOOR). Есть ли способ добиться этого, используя поддерживаемые формулы, которые согласно MS Support являются:
ABS, ACOS, AND, ASIN, ATAN, ATAN2, СРЕДНЕГО, ВЫБРАТЬ, КОЛОННЫ, КОНКАТЕНАТ, COS, COUNT, COUNTA, COUNTBLANK, COUNTIF, DATE, DATEVALUE, DAVERAGE, DAY, DCOUNT, DCOUNTA, DDB, DEGREET, DG DMIN, DPRODUCT, DSTDEV, DSTDEVP, DSUM, DVAR, DVARP, ERROR.TYPE, EXACT, EXP, FACT, FIND, FV, HLOOKUP, HOUR, IF, INDEX, INT, IRR, ISBLANK, ISERR, ISERROR, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISTEXT, LEFT, LEN, LN, LOG, LOG10, LOOKUP, LOWER, MATCH, MAX, MID, MIN, MINUTE, MOD, MONTH, N, NA, NOT, NOW, NPER, NPV, OR, PI, PMT, POWER, PRODUCT, PROPER, PV, RADIANS, RAND, RANK, RATE, ЗАМЕНА, REPT, RIGHT, ROUND, ROWS, ВТОРОЕ, SIN, SLN, SQRT, STDEV, STDEVP, ЗАМЕНА, СУММА, SUMIF, SUMPRODUCT, SYD, T, TAN, TIME, TIMEVALUE, TODAY, TRIM, TRUNC, UPPER, VALUE, VAR, VARP, VLOOKUP, YEAR, FALSE и TRUE.
И для тех из вас, кто задавался вопросом, нет, клянусь, я не так одинок, как должен звучать.
2 ответа
Должно работать с функцией ROUND, нет? Просто разделите ваше значение на 2,5, округлите его до ближайшего целого числа и снова умножьте на 2,5
FLOOR =(value) - MOD((value), divisor)
CEILING =(value) - MOD((value), divisor) + divisor
Используйте 1 в качестве делителя для целых чисел. В случае исходного вопроса используйте 2.5.
=CEILING(($B13 - ($A$2 * 0.1)) - 1.25, 1.25 * 2)
будет выглядеть так:
=(($B13 - ($A$2 * 0.1)) - 1.25) - MOD(($B13 - ($A$2 * 0.1)) - 1.25, 1.25 * 2) + 1.25 * 2