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

Вход

Регистрация

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

 

= Мир MS Excel/Вопрос на округление - Страница 2 - Мир MS Excel

Старая форма входа
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: китин  
Вопрос на округление
MCH Дата: Понедельник, 01.10.2012, 16:30 | Сообщение № 21
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

Quote (Полковник МВД)
Не используют банковское округление только функции ЧЁТН и НЕЧЁТ

Не знаю в Excel ни одной функции, которая бы использовала банковское округление
(в VBA банковское округление использует функция Round(), в отличии от функции листа ОКРУГЛ(), которая округляет по правилам математики)

Quote (Полковник МВД)
Их можно заменить на 26 символов легко. Меньше - сложно

24:
=МИН(ЧЁТН(A1);НЕЧЁТ(A1))

25:
=ОТБР(A1)+(ОСТАТ(A1;1)>0)

но вопрос решается по другому
 
Ответить
Сообщение
Quote (Полковник МВД)
Не используют банковское округление только функции ЧЁТН и НЕЧЁТ

Не знаю в Excel ни одной функции, которая бы использовала банковское округление
(в VBA банковское округление использует функция Round(), в отличии от функции листа ОКРУГЛ(), которая округляет по правилам математики)

Quote (Полковник МВД)
Их можно заменить на 26 символов легко. Меньше - сложно

24:
=МИН(ЧЁТН(A1);НЕЧЁТ(A1))

25:
=ОТБР(A1)+(ОСТАТ(A1;1)>0)

но вопрос решается по другому

Автор - MCH
Дата добавления - 01.10.2012 в 16:30
MCH Дата: Понедельник, 01.10.2012, 20:18 | Сообщение № 22
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

Quote (Полковник МВД)
Все. Нет пороха.

"Порох" еще остался у кого нибудь? пока не хочу давать очередную подсказку
 
Ответить
Сообщение
Quote (Полковник МВД)
Все. Нет пороха.

"Порох" еще остался у кого нибудь? пока не хочу давать очередную подсказку

Автор - MCH
Дата добавления - 01.10.2012 в 20:18
Полковник МВД Дата: Понедельник, 01.10.2012, 22:12 | Сообщение № 23
Группа: Гости
Quote (MCH)

Не знаю в Excel ни одной функции, которая бы использовала банковское округление

Извиняюсь, конечно математическое, а не банковское.
ЧЁТН и НЕЧЁТ округляют по другим правилам (всегда в большую сторону), но с ними 12 символов не выйдет
 
Ответить
Сообщение
Quote (MCH)

Не знаю в Excel ни одной функции, которая бы использовала банковское округление

Извиняюсь, конечно математическое, а не банковское.
ЧЁТН и НЕЧЁТ округляют по другим правилам (всегда в большую сторону), но с ними 12 символов не выйдет

Автор - Полковник МВД
Дата добавления - 01.10.2012 в 22:12
_Boroda_ Дата: Вторник, 02.10.2012, 01:27 | Сообщение № 24
Группа: Админы
Ранг: Местный житель
Сообщений: 16714
Репутация: 6503 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Quote (Полковник МВД)
мозги плавятся от жары, а инет - 5 € в час

у меня тоже, только интернет халявный
но времени тоже нет
Quote (Gustav)
Есть 12.

а 12 символов тоже есть


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Quote (Полковник МВД)
мозги плавятся от жары, а инет - 5 € в час

у меня тоже, только интернет халявный
но времени тоже нет
Quote (Gustav)
Есть 12.

а 12 символов тоже есть

Автор - _Boroda_
Дата добавления - 02.10.2012 в 01:27
ZORRO2005 Дата: Вторник, 02.10.2012, 15:28 | Сообщение № 25
Группа: Друзья
Ранг: Обитатель
Сообщений: 382
Репутация: 148 ±
Замечаний: 0% ±

Excel2010
Я мыслил в этом направлении:
=ОТБР(A1+1-1/9^9)

Миша,
дай еще подсказку или вскрывайтесь.
 
Ответить
СообщениеЯ мыслил в этом направлении:
=ОТБР(A1+1-1/9^9)

Миша,
дай еще подсказку или вскрывайтесь.

Автор - ZORRO2005
Дата добавления - 02.10.2012 в 15:28
MCH Дата: Вторник, 02.10.2012, 16:15 | Сообщение № 26
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

Quote (ZORRO2005)
=ОТБР(A1+1-1/9^9)

Не то, т.к. есть вероятность неправильно округлить число от 1 до 1,00000000258116, и т.п.

Quote (ZORRO2005)
дай еще подсказку

В чем разница между функциями ОТБР и ЦЕЛОЕ?
 
Ответить
Сообщение
Quote (ZORRO2005)
=ОТБР(A1+1-1/9^9)

Не то, т.к. есть вероятность неправильно округлить число от 1 до 1,00000000258116, и т.п.

Quote (ZORRO2005)
дай еще подсказку

В чем разница между функциями ОТБР и ЦЕЛОЕ?

Автор - MCH
Дата добавления - 02.10.2012 в 16:15
vikttur Дата: Вторник, 02.10.2012, 16:20 | Сообщение № 27
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Вот же ж блин же ж! :?)
 
Ответить
СообщениеВот же ж блин же ж! :?)

Автор - vikttur
Дата добавления - 02.10.2012 в 16:20
ZORRO2005 Дата: Вторник, 02.10.2012, 17:19 | Сообщение № 28
Группа: Друзья
Ранг: Обитатель
Сообщений: 382
Репутация: 148 ±
Замечаний: 0% ±

Excel2010
Quote (MCH)
В чем разница между функциями ОТБР и ЦЕЛОЕ?

Точно! Надо было со знаками поиграться!
 
Ответить
Сообщение
Quote (MCH)
В чем разница между функциями ОТБР и ЦЕЛОЕ?

Точно! Надо было со знаками поиграться!

Автор - ZORRO2005
Дата добавления - 02.10.2012 в 17:19
DV Дата: Вторник, 02.10.2012, 17:52 | Сообщение № 29
Группа: Друзья
Ранг: Обитатель
Сообщений: 286
Репутация: 194 ±
Замечаний: 0% ±

Excel 2010 RUS
Quote (ZORRO2005)
Я мыслил в этом направлении:
=ОТБР(A1+1-1/9^9)

Тоже было, но отмёл. Со знаками тоже игрался, но до -ЦЕЛОЕ не дошел(:
Code
=A1-ОСТАТ(A1;-1)
 
Ответить
Сообщение
Quote (ZORRO2005)
Я мыслил в этом направлении:
=ОТБР(A1+1-1/9^9)

Тоже было, но отмёл. Со знаками тоже игрался, но до -ЦЕЛОЕ не дошел(:
Code
=A1-ОСТАТ(A1;-1)

Автор - DV
Дата добавления - 02.10.2012 в 17:52
MCH Дата: Вторник, 02.10.2012, 17:53 | Сообщение № 30
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

Ну тогда выкладываю решение, т.к. двое (Gustav и _Boroda_) уже правильно ответили, а остальные не могут не догадатся после последней подсказки:
=-ЦЕЛОЕ(-A1)

Quote (vikttur)
Где нашел? Может, указатель какой?

Придумал сам, возможно где то видел, но не в Excel, т.к. данная идея родилась давным давно, возможно это распространненый прием в языках программирования начального уровня типа Basic и т.п., где нет функций Round().

В детстве (т.е. давным давно), когда программировал на Basic для округления по правилам математики (до ближайшего целого) использовал стандартный прием y=Int(x+0.5)
Я и в Excel так всегда округлял =ЦЕЛОЕ(A1+0,5) пока мне не подсказали что есть функция ОКРУГЛ(), и что ей удобнее округлять, Хотя с помощью ЦЕЛОЕ можно округлять как вниз так и вверх, так и до ближайшего.

Подобный прием округления вверх я уже использовал на форумах, странно, что Сергеи (оба и Serge007 и ZORRO2005) не обратили внимания на формулу, хотя были участниками в теме Округление значения до нечётного числа, кроме на соседнем форуме.

А здесь обсуждалась реализация функции ОКРУГЛВВЕРХ на VBA


Сообщение отредактировал MCH - Вторник, 02.10.2012, 17:56
 
Ответить
СообщениеНу тогда выкладываю решение, т.к. двое (Gustav и _Boroda_) уже правильно ответили, а остальные не могут не догадатся после последней подсказки:
=-ЦЕЛОЕ(-A1)

Quote (vikttur)
Где нашел? Может, указатель какой?

Придумал сам, возможно где то видел, но не в Excel, т.к. данная идея родилась давным давно, возможно это распространненый прием в языках программирования начального уровня типа Basic и т.п., где нет функций Round().

В детстве (т.е. давным давно), когда программировал на Basic для округления по правилам математики (до ближайшего целого) использовал стандартный прием y=Int(x+0.5)
Я и в Excel так всегда округлял =ЦЕЛОЕ(A1+0,5) пока мне не подсказали что есть функция ОКРУГЛ(), и что ей удобнее округлять, Хотя с помощью ЦЕЛОЕ можно округлять как вниз так и вверх, так и до ближайшего.

Подобный прием округления вверх я уже использовал на форумах, странно, что Сергеи (оба и Serge007 и ZORRO2005) не обратили внимания на формулу, хотя были участниками в теме Округление значения до нечётного числа, кроме на соседнем форуме.

А здесь обсуждалась реализация функции ОКРУГЛВВЕРХ на VBA

Автор - MCH
Дата добавления - 02.10.2012 в 17:53
ZORRO2005 Дата: Вторник, 02.10.2012, 18:20 | Сообщение № 31
Группа: Друзья
Ранг: Обитатель
Сообщений: 382
Репутация: 148 ±
Замечаний: 0% ±

Excel2010
Quote (MCH)
странно, что Сергеи (оба и Serge007 и ZORRO2005) не обратили внимания на формулу

теперь точно запомнил. smile
 
Ответить
Сообщение
Quote (MCH)
странно, что Сергеи (оба и Serge007 и ZORRO2005) не обратили внимания на формулу

теперь точно запомнил. smile

Автор - ZORRO2005
Дата добавления - 02.10.2012 в 18:20
Gustav Дата: Вторник, 02.10.2012, 19:03 | Сообщение № 32
Группа: Админы
Ранг: Участник клуба
Сообщений: 2793
Репутация: 1160 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Quote (MCH)
В детстве (т.е. давным давно), когда программировал на Basic


В то же самое время, которое у меня совпало с юностью (я несколько постарше), варился в тех же ощущениях про y=Int(x+0.5). С тех пор у меня рефлекс, по которому при разговоре об округлении я в первую очередь вспоминаю про ЦЕЛОЕ(). Поэтому задачку решил, практически не напрягаясь. Мне удивительно, что в этом штурме не поучаствовали наиболее старшие форумчане - им наверняка это тоже должно быть близко. Наверное, не заходили в тему... smile


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
Quote (MCH)
В детстве (т.е. давным давно), когда программировал на Basic


В то же самое время, которое у меня совпало с юностью (я несколько постарше), варился в тех же ощущениях про y=Int(x+0.5). С тех пор у меня рефлекс, по которому при разговоре об округлении я в первую очередь вспоминаю про ЦЕЛОЕ(). Поэтому задачку решил, практически не напрягаясь. Мне удивительно, что в этом штурме не поучаствовали наиболее старшие форумчане - им наверняка это тоже должно быть близко. Наверное, не заходили в тему... smile

Автор - Gustav
Дата добавления - 02.10.2012 в 19:03
vikttur Дата: Вторник, 02.10.2012, 23:23 | Сообщение № 33
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Крутил-вертел и ЦЕЛОЕ().
Помнил, что есть различия с ОТБР(), но какое, не вспомнил, а справку глянуть лень было smile
 
Ответить
СообщениеКрутил-вертел и ЦЕЛОЕ().
Помнил, что есть различия с ОТБР(), но какое, не вспомнил, а справку глянуть лень было smile

Автор - vikttur
Дата добавления - 02.10.2012 в 23:23
Полковник МВД Дата: Среда, 03.10.2012, 01:22 | Сообщение № 34
Группа: Гости
Quote (MCH)
странно, что Сергеи (оба и Serge007 и ZORRO2005) не обратили внимания на формулу

В своё оправдание могу сказать, что я решал несколько иную задачу, чем видимо было поставлено
Исходя из
Quote (MCH)
пусть будет число полученое по формуле =СЛЧИС()*1000
я понял что число может быть и отрицательным. Я брал большее по модулю, т.е. -45,9 или -45,1 должно было быть округлено не до -45, а до -46.
Этого я добиться в 12 знаков не смог
Видимо переборщил с условиями...
 
Ответить
Сообщение
Quote (MCH)
странно, что Сергеи (оба и Serge007 и ZORRO2005) не обратили внимания на формулу

В своё оправдание могу сказать, что я решал несколько иную задачу, чем видимо было поставлено
Исходя из
Quote (MCH)
пусть будет число полученое по формуле =СЛЧИС()*1000
я понял что число может быть и отрицательным. Я брал большее по модулю, т.е. -45,9 или -45,1 должно было быть округлено не до -45, а до -46.
Этого я добиться в 12 знаков не смог
Видимо переборщил с условиями...

Автор - Полковник МВД
Дата добавления - 03.10.2012 в 01:22
MCH Дата: Среда, 03.10.2012, 03:07 | Сообщение № 35
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

Quote (Полковник МВД)
я решал несколько иную задачу, чем видимо было поставлено

Сергей, сам виноват, я специально ограничил исходные данные формулой, чтобы не получались отрицательные числа, т.к. разлиия в вычислениях были бы только с отрицательными числами.

Да и в условиях я написал "нужно получить число округленное до целого в большую сторону" а не большее по модулю
И в сообщении № 8 я еще раз подчеркнул, для каких исходных данных формулы должны давать одинаквый результат.

Если бы написал, что результат должен совпадать только для положительных чисел, это была бы прямая подсказка, подталкивающая к ответу.

Мне кстати не понятно, почему ОКРУГЛВВЕРХ округляет -45,9 до -46, а не до -45, я об этом даже не догадывался пока в справку по функции не заглянул.
а ОКРВВЕРХ вообще не работает с отрицательными числами


Сообщение отредактировал MCH - Среда, 03.10.2012, 06:53
 
Ответить
Сообщение
Quote (Полковник МВД)
я решал несколько иную задачу, чем видимо было поставлено

Сергей, сам виноват, я специально ограничил исходные данные формулой, чтобы не получались отрицательные числа, т.к. разлиия в вычислениях были бы только с отрицательными числами.

Да и в условиях я написал "нужно получить число округленное до целого в большую сторону" а не большее по модулю
И в сообщении № 8 я еще раз подчеркнул, для каких исходных данных формулы должны давать одинаквый результат.

Если бы написал, что результат должен совпадать только для положительных чисел, это была бы прямая подсказка, подталкивающая к ответу.

Мне кстати не понятно, почему ОКРУГЛВВЕРХ округляет -45,9 до -46, а не до -45, я об этом даже не догадывался пока в справку по функции не заглянул.
а ОКРВВЕРХ вообще не работает с отрицательными числами

Автор - MCH
Дата добавления - 03.10.2012 в 03:07
Полковник МВД Дата: Среда, 03.10.2012, 23:50 | Сообщение № 36
Группа: Гости
Quote (MCH)
Сергей, сам виноват...
Так я об этом и пишу:
Quote (MCH)
Видимо переборщил с условиями...


Quote (MCH)
я специально ограничил исходные данные формулой, чтобы не получались отрицательные числа

Миш, СЛЧИС может возвращать отрицательные. Этим ты немного сбил меня с толку :)
 
Ответить
Сообщение
Quote (MCH)
Сергей, сам виноват...
Так я об этом и пишу:
Quote (MCH)
Видимо переборщил с условиями...


Quote (MCH)
я специально ограничил исходные данные формулой, чтобы не получались отрицательные числа

Миш, СЛЧИС может возвращать отрицательные. Этим ты немного сбил меня с толку :)

Автор - Полковник МВД
Дата добавления - 03.10.2012 в 23:50
MCH Дата: Четверг, 04.10.2012, 08:27 | Сообщение № 37
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

Quote (Полковник МВД)
Цитата, MCH писал(а):
Видимо переборщил с условиями...

Цитата не моя

Quote (Полковник МВД)
СЛЧИС может возвращать отрицательные

Предвидел от тебя подобное заявление smile
Можешь показать скрин данного бага?

Я не смог его воспроизвести в 2003 офисе на 10 млн. генераций (дальше лень ждать):
[vba]
Code
Sub www()
     Dim i&
     Cells(1, 1).Formula = "=RAND()"
     For i = 1 To 10000000
         If Cells(1, 1).Value < 0 Then Debug.Print i: Exit For
         Cells(1, 1).Calculate
     Next i
End Sub
[/vba]
 
Ответить
Сообщение
Quote (Полковник МВД)
Цитата, MCH писал(а):
Видимо переборщил с условиями...

Цитата не моя

Quote (Полковник МВД)
СЛЧИС может возвращать отрицательные

Предвидел от тебя подобное заявление smile
Можешь показать скрин данного бага?

Я не смог его воспроизвести в 2003 офисе на 10 млн. генераций (дальше лень ждать):
[vba]
Code
Sub www()
     Dim i&
     Cells(1, 1).Formula = "=RAND()"
     For i = 1 To 10000000
         If Cells(1, 1).Value < 0 Then Debug.Print i: Exit For
         Cells(1, 1).Calculate
     Next i
End Sub
[/vba]

Автор - MCH
Дата добавления - 04.10.2012 в 08:27
Полковник МВД Дата: Пятница, 05.10.2012, 00:01 | Сообщение № 38
Группа: Гости
Quote (MCH)
Цитата не моя
Верно, только сейчас заметил, что автор в тегах quote ставится тот, из поста которого была нажата кнопка "Цитировать"

Quote (MCH)
Предвидел от тебя подобное заявление
Естественно, я ведь раза три давал тебе ссылку на статью с офф сайта MS об этом баге smile
Quote (MCH)
Можешь показать скрин данного бага?
Никогда не заморачивался подобными вещами, но на планете была такая тема:
http://www.planetaexcel.ru/forum.p....orum=33
 
Ответить
Сообщение
Quote (MCH)
Цитата не моя
Верно, только сейчас заметил, что автор в тегах quote ставится тот, из поста которого была нажата кнопка "Цитировать"

Quote (MCH)
Предвидел от тебя подобное заявление
Естественно, я ведь раза три давал тебе ссылку на статью с офф сайта MS об этом баге smile
Quote (MCH)
Можешь показать скрин данного бага?
Никогда не заморачивался подобными вещами, но на планете была такая тема:
http://www.planetaexcel.ru/forum.p....orum=33

Автор - Полковник МВД
Дата добавления - 05.10.2012 в 00:01
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

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