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

Вход

Регистрация

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

 

= Мир MS Excel/round сторона округления - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » round сторона округления (Макросы/Sub)
round сторона округления
rosko Дата: Четверг, 02.03.2017, 02:47 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 58
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброго времени суток!

Подскажите, пожалуйста, можно ли сделать округление в меньшую сторону у round(x,y) ?
Столкнулся с тем, что round(x,0) округляет в большую, что не удобно в общем случае.
К сообщению приложен файл: 6083393.xlsm (60.8 Kb)
 
Ответить
СообщениеДоброго времени суток!

Подскажите, пожалуйста, можно ли сделать округление в меньшую сторону у round(x,y) ?
Столкнулся с тем, что round(x,0) округляет в большую, что не удобно в общем случае.

Автор - rosko
Дата добавления - 02.03.2017 в 02:47
bmv98rus Дата: Четверг, 02.03.2017, 07:33 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4110
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
Функция работает как положено, по правилу математики. В большую, если округляемая часть значение больще или равно половине.
round(1.4,0) =1 , round(1.5,0)= 2
если вам нужно просто отбросить дробную часть, то используйте INT Или FIx. можно конечно перед округлением отнять эту половину
1.9-0.5 = 1.4 при оруклении даст 1. но для случая с переменным разрядом округления будет - round(X - 5*10^(-Y),Y)

Также вы можете использовать функцию листа ROUNDDOWN


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Четверг, 02.03.2017, 07:33
 
Ответить
СообщениеФункция работает как положено, по правилу математики. В большую, если округляемая часть значение больще или равно половине.
round(1.4,0) =1 , round(1.5,0)= 2
если вам нужно просто отбросить дробную часть, то используйте INT Или FIx. можно конечно перед округлением отнять эту половину
1.9-0.5 = 1.4 при оруклении даст 1. но для случая с переменным разрядом округления будет - round(X - 5*10^(-Y),Y)

Также вы можете использовать функцию листа ROUNDDOWN

Автор - bmv98rus
Дата добавления - 02.03.2017 в 07:33
RAN Дата: Четверг, 02.03.2017, 09:41 | Сообщение № 3
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Функция работает как положено, по правилу математики.

Round VBA, в отличие от Application.Round, работает по правилам не математического, а банковского округления.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Функция работает как положено, по правилу математики.

Round VBA, в отличие от Application.Round, работает по правилам не математического, а банковского округления.

Автор - RAN
Дата добавления - 02.03.2017 в 09:41
bmv98rus Дата: Четверг, 02.03.2017, 13:17 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4110
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
RAN,
спс за коррекцию. чет/нечет забыл напроч.
полезно освежИвать знания забытые и не полученные :) Crazy VBA ROUND


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Четверг, 02.03.2017, 13:24
 
Ответить
СообщениеRAN,
спс за коррекцию. чет/нечет забыл напроч.
полезно освежИвать знания забытые и не полученные :) Crazy VBA ROUND

Автор - bmv98rus
Дата добавления - 02.03.2017 в 13:17
Мир MS Excel » Вопросы и решения » Вопросы по VBA » round сторона округления (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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