Добрый день! Проблема такая: объясняю на примере. Нужно округлить выражение =1-0,5454 до сотых. В Excel ответ равен 0,45. Но фактически должно быть 0,46. Подскажите как исправить данную ошибку
Добрый день! Проблема такая: объясняю на примере. Нужно округлить выражение =1-0,5454 до сотых. В Excel ответ равен 0,45. Но фактически должно быть 0,46. Подскажите как исправить данную ошибкуГость
Игорь, такой баг имеется и он действительно не решаем. Эксель округляет, учитывая всего лишь одну цифру из младшего разряда. Видимо так порешили разработчики Эксель, чтобы не загружать программу лишними (на их взгляд) расчетами. 0,4546=0,46 Гостю рекомендую не округлять, а использовать форматы ячеек. Правда отображаться будет так же ошибочно, но при дальнейших расчетах погрешности уменьшатся.
Игорь, такой баг имеется и он действительно не решаем. Эксель округляет, учитывая всего лишь одну цифру из младшего разряда. Видимо так порешили разработчики Эксель, чтобы не загружать программу лишними (на их взгляд) расчетами. 0,4546=0,46 Гостю рекомендую не округлять, а использовать форматы ячеек. Правда отображаться будет так же ошибочно, но при дальнейших расчетах погрешности уменьшатся.kim
Сцяна - гэта тая ж прыступка. Проста трэба дарасьці да яе.
Не понял.. Округляю =ОКРУГЛ(B2;2) - получаю 0,45 Даже так: =ОКРУГЛ(0,4546;2)
Т.е. в школе меня другому учили? И должно быть 0,46? Я уже не помню... Хотя всё равно не понимаю - ведь 0,4546->0.455, но чуть меньше, чем 0,455 (ведь не больше?), следовательно, округляя дальше, получаем 0,45
Ну ладно, тогда ход конём:
Код
=ОКРУГЛ(ОКРУГЛ(0,4545;3);2)
Не понял.. Округляю =ОКРУГЛ(B2;2) - получаю 0,45 Даже так: =ОКРУГЛ(0,4546;2)
Т.е. в школе меня другому учили? И должно быть 0,46? Я уже не помню... Хотя всё равно не понимаю - ведь 0,4546->0.455, но чуть меньше, чем 0,455 (ведь не больше?), следовательно, округляя дальше, получаем 0,45
По правилам арифметики если округлить, к примеру число 1,24445 до одного разряда после запятой, округление будет происходить последовательно начиная с наименьшего разряда: 1,24445=>1,2445=>1,245=>1,25=>1,3. А эксель выдаст 1,2
По правилам арифметики если округлить, к примеру число 1,24445 до одного разряда после запятой, округление будет происходить последовательно начиная с наименьшего разряда: 1,24445=>1,2445=>1,245=>1,25=>1,3. А эксель выдаст 1,2kim
Сцяна - гэта тая ж прыступка. Проста трэба дарасьці да яе.
По правилам арифметики если округлить, к примеру число 1,24445 до одного разряда после запятой, округление будет происходить последовательно начиная с наименьшего разряда: 1,24445=>1,2445=>1,245=>1,25=>1,3. А эксель выдаст 1,2
Игорь, по правилам математики, на сколько я помню, при округлении до N знака учитывается N+1 знак: Если N+1 знак <5, то N-ый знак не меняется, а N+1 и все последующие обнуляются; Если N+1 знак ≥5, то N-ый знак увеличивается на единицу, а все знаки начиная с N+1 обнуляются. Поэтапное округление, на мой взгляд, ошибочно. Я бы однозначно откруглил 1,24445 до 1,2, а не до 1,3
Quote (kim)
По правилам арифметики если округлить, к примеру число 1,24445 до одного разряда после запятой, округление будет происходить последовательно начиная с наименьшего разряда: 1,24445=>1,2445=>1,245=>1,25=>1,3. А эксель выдаст 1,2
Игорь, по правилам математики, на сколько я помню, при округлении до N знака учитывается N+1 знак: Если N+1 знак <5, то N-ый знак не меняется, а N+1 и все последующие обнуляются; Если N+1 знак ≥5, то N-ый знак увеличивается на единицу, а все знаки начиная с N+1 обнуляются. Поэтапное округление, на мой взгляд, ошибочно. Я бы однозначно откруглил 1,24445 до 1,2, а не до 1,3MCH
Игорь, а если восемь разрядов нужно отбросить? Михаил, спорить не буду, но нас так учили в советской школе и очень давно. Лично я бы, так же как и ты округлил и не утруждался. Можно почитать по ссылке http://e-science.ru/math/theory/?t=66 особого света она не проливает, но меня заинтересовало правило №3 пример №6 - вот такого я действительно не помню и эксель тут не помощник
Игорь, а если восемь разрядов нужно отбросить? Михаил, спорить не буду, но нас так учили в советской школе и очень давно. Лично я бы, так же как и ты округлил и не утруждался. Можно почитать по ссылке http://e-science.ru/math/theory/?t=66 особого света она не проливает, но меня заинтересовало правило №3 пример №6 - вот такого я действительно не помню и эксель тут не помощник kim
Сцяна - гэта тая ж прыступка. Проста трэба дарасьці да яе.
Банковское округление (англ. banker's rounding) — округление для этого случая происходит к ближайшему чётному. Это позволяет устранить систематическую ошибку округления при суммировании большого количества чисел. То есть, 2,5 → 2, 3,5 → 4
Кстати функция Round() в VBA работает по этому принципу, в отличии от функции листа ОКРУГЛ()
Quote (kim)
меня заинтересовало правило №3 пример №6 - вот такого я действительно не помню
Банковское округление (англ. banker's rounding) — округление для этого случая происходит к ближайшему чётному. Это позволяет устранить систематическую ошибку округления при суммировании большого количества чисел. То есть, 2,5 → 2, 3,5 → 4
Кстати функция Round() в VBA работает по этому принципу, в отличии от функции листа ОКРУГЛ()MCH
Привет народ..) А как округлить до ближайшей десятки, сотни? Например, 896 округлить до 900, а если совсем правильно, то до ближайшего числа вверх кратное 25
Надо для подсчета материалов.
Придумал такой вариант:
Код
(ОКРУГЛВВЕРХ(D39*1,8/25;0))*25
Чисто ради интереса, есть ли короче?
Привет народ..) А как округлить до ближайшей десятки, сотни? Например, 896 округлить до 900, а если совсем правильно, то до ближайшего числа вверх кратное 25