Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Округление числа до и после запятой - Страница 2 - Мир MS Excel

  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: китин, _Boroda_, DrMini  
Округление числа до и после запятой
KuklP Дата: Вторник, 11.01.2011, 17:41 | Сообщение № 21
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Уже давно бы сам описал процесс. Чем меня крутить на это.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеУже давно бы сам описал процесс. Чем меня крутить на это.

Автор - KuklP
Дата добавления - 11.01.2011 в 17:41
Гость Дата: Четверг, 21.04.2011, 22:51 | Сообщение № 22
Группа: Гости
Добрый день! Проблема такая: объясняю на примере. Нужно округлить выражение =1-0,5454 до сотых. В Excel ответ равен 0,45. Но фактически должно быть 0,46. Подскажите как исправить данную ошибку
 
Ответить
СообщениеДобрый день! Проблема такая: объясняю на примере. Нужно округлить выражение =1-0,5454 до сотых. В Excel ответ равен 0,45. Но фактически должно быть 0,46. Подскажите как исправить данную ошибку

Автор - Гость
Дата добавления - 21.04.2011 в 22:51
Hugo Дата: Четверг, 21.04.2011, 23:25 | Сообщение № 23
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3854
Репутация: 814 ±
Замечаний: 0% ±

365
Почему 0,46?
0,4546
Я ошибки Экселя не вижу.
0,5454=0,55
0,4546=0,45
Как не округляй - всё сходится.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеПочему 0,46?
0,4546
Я ошибки Экселя не вижу.
0,5454=0,55
0,4546=0,45
Как не округляй - всё сходится.

Автор - Hugo
Дата добавления - 21.04.2011 в 23:25
kim Дата: Четверг, 21.04.2011, 23:36 | Сообщение № 24
Группа: Друзья
Ранг: Обитатель
Сообщений: 371
Репутация: 160 ±
Замечаний: 0% ±

Excel 2010
Игорь, такой баг имеется и он действительно не решаем. Эксель округляет, учитывая всего лишь одну цифру из младшего разряда. Видимо так порешили разработчики Эксель, чтобы не загружать программу лишними (на их взгляд) расчетами.
0,4546=0,46 smile
Гостю рекомендую не округлять, а использовать форматы ячеек. Правда отображаться будет так же ошибочно, но при дальнейших расчетах погрешности уменьшатся.


Сцяна - гэта тая ж прыступка. Проста трэба дарасьці да яе.
 
Ответить
СообщениеИгорь, такой баг имеется и он действительно не решаем. Эксель округляет, учитывая всего лишь одну цифру из младшего разряда. Видимо так порешили разработчики Эксель, чтобы не загружать программу лишними (на их взгляд) расчетами.
0,4546=0,46 smile
Гостю рекомендую не округлять, а использовать форматы ячеек. Правда отображаться будет так же ошибочно, но при дальнейших расчетах погрешности уменьшатся.

Автор - kim
Дата добавления - 21.04.2011 в 23:36
Hugo Дата: Четверг, 21.04.2011, 23:45 | Сообщение № 25
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3854
Репутация: 814 ±
Замечаний: 0% ±

365
Не понял.. Округляю =ОКРУГЛ(B2;2) - получаю 0,45
Даже так: =ОКРУГЛ(0,4546;2)

Т.е. в школе меня другому учили? И должно быть 0,46? Я уже не помню...
Хотя всё равно не понимаю - ведь 0,4546->0.455, но чуть меньше, чем 0,455 (ведь не больше?), следовательно, округляя дальше, получаем 0,45

Ну ладно, тогда ход конём:
Код

=ОКРУГЛ(ОКРУГЛ(0,4545;3);2)



webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеНе понял.. Округляю =ОКРУГЛ(B2;2) - получаю 0,45
Даже так: =ОКРУГЛ(0,4546;2)

Т.е. в школе меня другому учили? И должно быть 0,46? Я уже не помню...
Хотя всё равно не понимаю - ведь 0,4546->0.455, но чуть меньше, чем 0,455 (ведь не больше?), следовательно, округляя дальше, получаем 0,45

Ну ладно, тогда ход конём:
Код

=ОКРУГЛ(ОКРУГЛ(0,4545;3);2)


Автор - Hugo
Дата добавления - 21.04.2011 в 23:45
kim Дата: Четверг, 21.04.2011, 23:51 | Сообщение № 26
Группа: Друзья
Ранг: Обитатель
Сообщений: 371
Репутация: 160 ±
Замечаний: 0% ±

Excel 2010
По правилам арифметики если округлить, к примеру число 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,2

Автор - kim
Дата добавления - 21.04.2011 в 23:51
MCH Дата: Пятница, 22.04.2011, 00:09 | Сообщение № 27
Группа: Админы
Ранг: Старожил
Сообщений: 2008
Репутация: 752 ±
Замечаний: ±

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,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,3

Автор - MCH
Дата добавления - 22.04.2011 в 00:09
Hugo Дата: Пятница, 22.04.2011, 00:26 | Сообщение № 28
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3854
Репутация: 814 ±
Замечаний: 0% ±

365
Я пока на той странице правил, тут уже вон какая школа...
Тогда такой вариант я там выше написал:
Код
=ОКРУГЛ(ОКРУГЛ(0,4545;3);2)

Вот как раз 0,46 и получается.

Хотя мне тоже кажется, что 0,4545 всёже 0,45.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеЯ пока на той странице правил, тут уже вон какая школа...
Тогда такой вариант я там выше написал:
Код
=ОКРУГЛ(ОКРУГЛ(0,4545;3);2)

Вот как раз 0,46 и получается.

Хотя мне тоже кажется, что 0,4545 всёже 0,45.

Автор - Hugo
Дата добавления - 22.04.2011 в 00:26
kim Дата: Пятница, 22.04.2011, 00:36 | Сообщение № 29
Группа: Друзья
Ранг: Обитатель
Сообщений: 371
Репутация: 160 ±
Замечаний: 0% ±

Excel 2010
Игорь, а если восемь разрядов нужно отбросить? smile
Михаил, спорить не буду, но нас так учили в советской школе и очень давно. Лично я бы, так же как и ты округлил и не утруждался.
Можно почитать по ссылке http://e-science.ru/math/theory/?t=66 особого света она не проливает, но меня заинтересовало правило №3 пример №6 - вот такого я действительно не помню и эксель тут не помощник smile


Сцяна - гэта тая ж прыступка. Проста трэба дарасьці да яе.
 
Ответить
СообщениеИгорь, а если восемь разрядов нужно отбросить? smile
Михаил, спорить не буду, но нас так учили в советской школе и очень давно. Лично я бы, так же как и ты округлил и не утруждался.
Можно почитать по ссылке http://e-science.ru/math/theory/?t=66 особого света она не проливает, но меня заинтересовало правило №3 пример №6 - вот такого я действительно не помню и эксель тут не помощник smile

Автор - kim
Дата добавления - 22.04.2011 в 00:36
MCH Дата: Пятница, 22.04.2011, 08:30 | Сообщение № 30
Группа: Админы
Ранг: Старожил
Сообщений: 2008
Репутация: 752 ±
Замечаний: ±

Quote (kim)
меня заинтересовало правило №3 пример №6 - вот такого я действительно не помню

В данном случае речь идет о банковском округлении.
Справочно из Википедии http://ru.wikipedia.org/wiki....8%D0%B5 :
Quote
Банковское округление (англ. banker's rounding) — округление для этого случая происходит к ближайшему чётному. Это позволяет устранить систематическую ошибку округления при суммировании большого количества чисел. То есть, 2,5 → 2, 3,5 → 4

Кстати функция Round() в VBA работает по этому принципу, в отличии от функции листа ОКРУГЛ()
 
Ответить
Сообщение
Quote (kim)
меня заинтересовало правило №3 пример №6 - вот такого я действительно не помню

В данном случае речь идет о банковском округлении.
Справочно из Википедии http://ru.wikipedia.org/wiki....8%D0%B5 :
Quote
Банковское округление (англ. banker's rounding) — округление для этого случая происходит к ближайшему чётному. Это позволяет устранить систематическую ошибку округления при суммировании большого количества чисел. То есть, 2,5 → 2, 3,5 → 4

Кстати функция Round() в VBA работает по этому принципу, в отличии от функции листа ОКРУГЛ()

Автор - MCH
Дата добавления - 22.04.2011 в 08:30
MCH Дата: Пятница, 22.04.2011, 08:35 | Сообщение № 31
Группа: Админы
Ранг: Старожил
Сообщений: 2008
Репутация: 752 ±
Замечаний: ±

Для проверки
[vba]
Код
x1 = 2.5: x2 = 3.5: Debug.Print Round(x1); Application.Round(x1, 0), Round(x2); Application.Round(x2, 0)
[/vba]
результат
[vba]
Код
2  3          4  4
[/vba]
 
Ответить
СообщениеДля проверки
[vba]
Код
x1 = 2.5: x2 = 3.5: Debug.Print Round(x1); Application.Round(x1, 0), Round(x2); Application.Round(x2, 0)
[/vba]
результат
[vba]
Код
2  3          4  4
[/vba]

Автор - MCH
Дата добавления - 22.04.2011 в 08:35
Vic5 Дата: Вторник, 10.06.2014, 13:33 | Сообщение № 32
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 40% ±

Excel 2010
Привет народ..)
А как округлить до ближайшей десятки, сотни?
Например, 896 округлить до 900, а если совсем правильно, то до ближайшего числа вверх кратное 25

Надо для подсчета материалов.

Придумал такой вариант:
Код
(ОКРУГЛВВЕРХ(D39*1,8/25;0))*25


Чисто ради интереса, есть ли короче?


Сообщение отредактировал Vic5 - Вторник, 10.06.2014, 13:46
 
Ответить
СообщениеПривет народ..)
А как округлить до ближайшей десятки, сотни?
Например, 896 округлить до 900, а если совсем правильно, то до ближайшего числа вверх кратное 25

Надо для подсчета материалов.

Придумал такой вариант:
Код
(ОКРУГЛВВЕРХ(D39*1,8/25;0))*25


Чисто ради интереса, есть ли короче?

Автор - Vic5
Дата добавления - 10.06.2014 в 13:33
_Boroda_ Дата: Вторник, 10.06.2014, 13:41 | Сообщение № 33
Группа: Админы
Ранг: Местный житель
Сообщений: 16888
Репутация: 6611 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Так нужно?
Код
=ОКРВВЕРХ(G3;25)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно?
Код
=ОКРВВЕРХ(G3;25)

Автор - _Boroda_
Дата добавления - 10.06.2014 в 13:41
Michael_S Дата: Вторник, 10.06.2014, 13:46 | Сообщение № 34
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
Код
=ОКРУГЛТ(A1;25)

не заметил, что нужно вверх, тогда
Код
=ОКРВВЕРХ.ТОЧН(A1;25)


Сообщение отредактировал Michael_S - Вторник, 10.06.2014, 13:47
 
Ответить
Сообщение
Код
=ОКРУГЛТ(A1;25)

не заметил, что нужно вверх, тогда
Код
=ОКРВВЕРХ.ТОЧН(A1;25)

Автор - Michael_S
Дата добавления - 10.06.2014 в 13:46
Vic5 Дата: Вторник, 10.06.2014, 13:48 | Сообщение № 35
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 40% ±

Excel 2010
_Boroda_, не катит..)

Michael_S, Спасибо огромное..)

Michael_S, дадада..)))

Теперь работает вверх..)


Сообщение отредактировал Vic5 - Вторник, 10.06.2014, 13:51
 
Ответить
Сообщение_Boroda_, не катит..)

Michael_S, Спасибо огромное..)

Michael_S, дадада..)))

Теперь работает вверх..)

Автор - Vic5
Дата добавления - 10.06.2014 в 13:48
Michael_S Дата: Вторник, 10.06.2014, 13:52 | Сообщение № 36
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
_Boroda_, не катит..)
вообще-то у меня Борода тоже катит :)
К сообщению приложен файл: Round-Vic5.xlsx (8.8 Kb)
 
Ответить
Сообщение
_Boroda_, не катит..)
вообще-то у меня Борода тоже катит :)

Автор - Michael_S
Дата добавления - 10.06.2014 в 13:52
Vic5 Дата: Вторник, 10.06.2014, 14:04 | Сообщение № 37
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 40% ±

Excel 2010
Еще раз попробовал..

Прокатило..

А до этого писало "имя?"

_Boroda_, ай эм сорри..)))
 
Ответить
СообщениеЕще раз попробовал..

Прокатило..

А до этого писало "имя?"

_Boroda_, ай эм сорри..)))

Автор - Vic5
Дата добавления - 10.06.2014 в 14:04
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!