Обращаюсь с интересным и немного туповатым (с точки зрения математики) вопросом: как можно в Excel округлить число 0,46 до 1, при этом, чтобы число 5,3 игнорировалось и округлялось той же формулой до 5. При этом сумма всех целых чисел в столбце должна равняться 10.
И еще, если модераторы не возражают, второй вопрос, несколько не по теме. Есть ячейка с набором чисел и букв (по ссылкам составленную) - 5С1Е ед.Пх+Б3Ос (в данный вид была приведена функцией СЦЕПИТЬ). Каким образом можно её привести в нормальный вид (для меня) - 5С3Ос1Е+Б ед.Пх, т.е. вначале ЦИФРЫ, потом знак +, потом сокрощенное слово - ед. Если есть возражения, то создам новую тему.
Доброго времени суток.
Обращаюсь с интересным и немного туповатым (с точки зрения математики) вопросом: как можно в Excel округлить число 0,46 до 1, при этом, чтобы число 5,3 игнорировалось и округлялось той же формулой до 5. При этом сумма всех целых чисел в столбце должна равняться 10.
И еще, если модераторы не возражают, второй вопрос, несколько не по теме. Есть ячейка с набором чисел и букв (по ссылкам составленную) - 5С1Е ед.Пх+Б3Ос (в данный вид была приведена функцией СЦЕПИТЬ). Каким образом можно её привести в нормальный вид (для меня) - 5С3Ос1Е+Б ед.Пх, т.е. вначале ЦИФРЫ, потом знак +, потом сокрощенное слово - ед. Если есть возражения, то создам новую тему.Slaventiy
Да и по поводу первого немного надо уточнить: в столбце B числа будут изменяться все время, если есть два числа с одинаковым значением двух чисел после запятой (к примеру - 3,46 и 0,46), то приоритет отдается 3,46. Это, правда, не совсем логика, но приходится порой как-то выкручиваться (по работе), игнорируя математические законы. Поэтому и надо их как-то обойти, если конечно получится.
Отвечать на второй вопрос не обязательно. Тему обязательно создам =)
Да и по поводу первого немного надо уточнить: в столбце B числа будут изменяться все время, если есть два числа с одинаковым значением двух чисел после запятой (к примеру - 3,46 и 0,46), то приоритет отдается 3,46. Это, правда, не совсем логика, но приходится порой как-то выкручиваться (по работе), игнорируя математические законы. Поэтому и надо их как-то обойти, если конечно получится.
Отвечать на второй вопрос не обязательно. Тему обязательно создам =)Slaventiy
Если можно, Slaventiy, уточните по каким законам появляются числа в столбце В, тогда можно под этот закон создать правило отсеивания. Я имею в виду хотя бы соотношения между числами или какое другое правило
Если можно, Slaventiy, уточните по каким законам появляются числа в столбце В, тогда можно под этот закон создать правило отсеивания. Я имею в виду хотя бы соотношения между числами или какое другое правилоIrysha
Мне приходилось решать подобные задачи примерно по следующему алгоритму:
1. Нормально по правилам округления получаем округленные значения ячеек во всех строках.
2. Для каждой строки вычисляем разницу [исходное значение] - [округленное].
3. Смотрим насколько отличается общая сумма по округленным от заданной суммы (в данном случае 10).
4. Если эта общая разница [заданная]-[округленная] положительна, то добавляем единичку в то значения, у которого разница по конкретной строке [исходное]-[округленное] положительна и максимальна. Затем во второе наибольшее значение, затем в третье и так далее, пока не будет исчерпана вся общая разница.
5. Если эта общая разница [заданная]-[округленная] отрицательна, то отнимаем единичку от того значения, у которого разница по конкретной строке [исходное]-[округленное] отрицательна и минимальна (т.е. наименьшая с учетом знака). Затем из второго наименьшего, затем из третьего и так далее, пока не будет исчерпана вся общая разница.
Мне приходилось решать подобные задачи примерно по следующему алгоритму:
1. Нормально по правилам округления получаем округленные значения ячеек во всех строках.
2. Для каждой строки вычисляем разницу [исходное значение] - [округленное].
3. Смотрим насколько отличается общая сумма по округленным от заданной суммы (в данном случае 10).
4. Если эта общая разница [заданная]-[округленная] положительна, то добавляем единичку в то значения, у которого разница по конкретной строке [исходное]-[округленное] положительна и максимальна. Затем во второе наибольшее значение, затем в третье и так далее, пока не будет исчерпана вся общая разница.
5. Если эта общая разница [заданная]-[округленная] отрицательна, то отнимаем единичку от того значения, у которого разница по конкретной строке [исходное]-[округленное] отрицательна и минимальна (т.е. наименьшая с учетом знака). Затем из второго наименьшего, затем из третьего и так далее, пока не будет исчерпана вся общая разница.Gustav
Irysha, Прикольное решение, а попробуйте вместо 0,46 поставить 0,44 Slaventiy, Предположу, что Вам нужно сделать вот что: у Вас есть набор каких-то чисел (откуда взятых - не важно); у них есть общая сумма; потом мы каждое число хотим округлить до целых так, чтобы сумма округленных чисел равнялась округленной сумме первоначальных чисел. Правильно? Тогда см. вложение. Или другой принцип?
Пока писал, Константин уже примерно про то же, только другими словами объяснил
Irysha, Прикольное решение, а попробуйте вместо 0,46 поставить 0,44 Slaventiy, Предположу, что Вам нужно сделать вот что: у Вас есть набор каких-то чисел (откуда взятых - не важно); у них есть общая сумма; потом мы каждое число хотим округлить до целых так, чтобы сумма округленных чисел равнялась округленной сумме первоначальных чисел. Правильно? Тогда см. вложение. Или другой принцип?
Пока писал, Константин уже примерно про то же, только другими словами объяснил_Boroda_
Irisha просила написать, по какому принципу необходимо решить.
Напишу в виде задачи, так будет проще: была отведена делянка, на которой растут следующие породы деревьев: сосна (С), ель (Е), береза (Б). Было установлен объем древесины по каждой породе С - 264 кубометров, Е - 1799 кбм, Б - 72 кбм; итого - 2135 кбм. Необходимо написать состав древостоя. Состав расчитывается согласно простой пропорции: объем по каждой породе делится на общий объем и умножается на 10. При этом существует следующее правило: если в полученном значении коэф. равен или больше 0,5, то количество породы в составе древостоя округляется до ближайшего целого числа, если коэф. находится в промежутке 0,2-0,5, то к породе ставится символ +, если менее 0,2, то к породе дописывается сокращено слово единично - ед. В полученной формуле сумма целых чисел должа равняться 10.
Вот вроде и все.
Наверное с округлением чисел я все таки поторопился, эх, гром и молнии на мою голову. Думал с округлением будет понятно, так всю задачу решу, ан, нет, не тут то было((( Вновь вложил файл, по решению данной задачи.
Irisha просила написать, по какому принципу необходимо решить.
Напишу в виде задачи, так будет проще: была отведена делянка, на которой растут следующие породы деревьев: сосна (С), ель (Е), береза (Б). Было установлен объем древесины по каждой породе С - 264 кубометров, Е - 1799 кбм, Б - 72 кбм; итого - 2135 кбм. Необходимо написать состав древостоя. Состав расчитывается согласно простой пропорции: объем по каждой породе делится на общий объем и умножается на 10. При этом существует следующее правило: если в полученном значении коэф. равен или больше 0,5, то количество породы в составе древостоя округляется до ближайшего целого числа, если коэф. находится в промежутке 0,2-0,5, то к породе ставится символ +, если менее 0,2, то к породе дописывается сокращено слово единично - ед. В полученной формуле сумма целых чисел должа равняться 10.
Вот вроде и все.
Наверное с округлением чисел я все таки поторопился, эх, гром и молнии на мою голову. Думал с округлением будет понятно, так всю задачу решу, ан, нет, не тут то было((( Вновь вложил файл, по решению данной задачи.Slaventiy