Нужно округлить число до целого, которое будет кратно десятичной дроби. К примеру: округлить 1517 до целого до кратности 6,25. В ответе нужно получить целое число, которое без остатка поделится на 6,25
Спасибо!
Подскажите, добрые люди:
Нужно округлить число до целого, которое будет кратно десятичной дроби. К примеру: округлить 1517 до целого до кратности 6,25. В ответе нужно получить целое число, которое без остатка поделится на 6,25
bmv98rus, Оо, Спасибо! Работает! Завтра вечерком разберусь в формуле, а то самому интересно, как это происходит. Спасибо!!! PS. Формула работает, если дробь десятичная, а если целое число (кратность к 6), то выдает ошибку. Поэтому в общем случае начну вставлю ЕСЛИ и проверю, есть ли остаток и при его отсутствии запилю стандартное ОКРУГЛТ. Также не работает, если кратность к 6,26 - но тут просто математически наверно не поделится. В моих задачах до такой точности не будет доходить и все гораздо проще. ...Охх, что же только ни придумаешь по работе, чтобы за тебя работал Эксель)
Еще раз спасибо!
bmv98rus, Оо, Спасибо! Работает! Завтра вечерком разберусь в формуле, а то самому интересно, как это происходит. Спасибо!!! PS. Формула работает, если дробь десятичная, а если целое число (кратность к 6), то выдает ошибку. Поэтому в общем случае начну вставлю ЕСЛИ и проверю, есть ли остаток и при его отсутствии запилю стандартное ОКРУГЛТ. Также не работает, если кратность к 6,26 - но тут просто математически наверно не поделится. В моих задачах до такой точности не будет доходить и все гораздо проще. ...Охх, что же только ни придумаешь по работе, чтобы за тебя работал Эксель)
Спасибо! Вторая сборка тоже работает, но первая выдает более близкий результат. Я ради интереса обе сборки оставлю и начну на практике применять, т.к. у меня числа гораздо проще и я слишком заморачиваюсь с универсальностью решения. Математически тоже с утра на свежую голову пришло понимание, как Вы это реализовали.
Первая сборка, которую беру за основную рабочую у меня так стала выглядеть (если вдруг кто будет читать и понадобится):
где $C$3 - число кратности, $C$2 - число, которое надо округлить.
Самое интересное, это работает (если решение существует) и при кратности к бесконечной десятичной дроби, к примеру 1510 округлить до 1,33(3) выдает правильный ответ 1508.
PS. На практике для чего нужно: Приходит товар с розничной ценой за 1кг, который потом фасуется по пакетам 100, 200г и др, в зависимости от позиции. Задача: в какую сторону округлить цену за 1кг, чтобы все виды фасовки автоматически имели цену в виде целого числа без копеек. На выходных допилю файлик до красоты и залью сюда итог.
Спасибо! Вторая сборка тоже работает, но первая выдает более близкий результат. Я ради интереса обе сборки оставлю и начну на практике применять, т.к. у меня числа гораздо проще и я слишком заморачиваюсь с универсальностью решения. Математически тоже с утра на свежую голову пришло понимание, как Вы это реализовали.
Первая сборка, которую беру за основную рабочую у меня так стала выглядеть (если вдруг кто будет читать и понадобится):
где $C$3 - число кратности, $C$2 - число, которое надо округлить.
Самое интересное, это работает (если решение существует) и при кратности к бесконечной десятичной дроби, к примеру 1510 округлить до 1,33(3) выдает правильный ответ 1508.
PS. На практике для чего нужно: Приходит товар с розничной ценой за 1кг, который потом фасуется по пакетам 100, 200г и др, в зависимости от позиции. Задача: в какую сторону округлить цену за 1кг, чтобы все виды фасовки автоматически имели цену в виде целого числа без копеек. На выходных допилю файлик до красоты и залью сюда итог.ArhAngel
Добрый день! На работе нашлось время запилить итоговую версию и все оформить. Прикрепил к сообщению. Т.к. число нужно округлять до кратности сразу нескольким числам, то в одном варианте просто перемножил числа, кратность которым должна быть. Во втором варианте нашел Наименьшее общее кратное. И сделал соответственно две сборки от bmv98rus
Потестировал различные числа кратности.. иногда работают все 4 варианта, иногда 1-2 разных и с разными результатами. Поэтому для проверки в рабочих условиях оставляю все 4 варианта. В прилагаемом файлике выставил от балды наиболее интересный вариант, где работают разные сборки с разными результатами, но оптимальное правильное решение одно. PS. Для моих задач этого более чем достаточно и на этом остановлюсь, дабы слишком сильно не заморачиваться... пойду теперь оптимизировать crm-систему) PPS. _Boroda_, Ваше решение тоже поизучаю на досуге с целью повышения грамотности владением Экселем. Поэтому тоже большое спасибо! Обязательно изучу новые для себя формулы, я еще только начинающий пользователь.
Добрый день! На работе нашлось время запилить итоговую версию и все оформить. Прикрепил к сообщению. Т.к. число нужно округлять до кратности сразу нескольким числам, то в одном варианте просто перемножил числа, кратность которым должна быть. Во втором варианте нашел Наименьшее общее кратное. И сделал соответственно две сборки от bmv98rus
Потестировал различные числа кратности.. иногда работают все 4 варианта, иногда 1-2 разных и с разными результатами. Поэтому для проверки в рабочих условиях оставляю все 4 варианта. В прилагаемом файлике выставил от балды наиболее интересный вариант, где работают разные сборки с разными результатами, но оптимальное правильное решение одно. PS. Для моих задач этого более чем достаточно и на этом остановлюсь, дабы слишком сильно не заморачиваться... пойду теперь оптимизировать crm-систему) PPS. _Boroda_, Ваше решение тоже поизучаю на досуге с целью повышения грамотности владением Экселем. Поэтому тоже большое спасибо! Обязательно изучу новые для себя формулы, я еще только начинающий пользователь.ArhAngel