Округлить в большую сторону.
AlexM
Дата: Вторник, 03.12.2013, 23:06 |
Сообщение № 1
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация:
1129
±
Замечаний:
0% ±
Excel 2003
Задача округлить число в большую сторону так, чтобы последняя цифра была четной. Числа любые, целые и с десятичными разрядами. Пример округления 5 - 6 12 - 12 15 - 16 0 - 0 0,1 - 0,2 1,377 - 1,378 -3,1415 - -3,1414 -17 - -16 и тд. Есть решение на 54 знака (счет по правилам)
Задача округлить число в большую сторону так, чтобы последняя цифра была четной. Числа любые, целые и с десятичными разрядами. Пример округления 5 - 6 12 - 12 15 - 16 0 - 0 0,1 - 0,2 1,377 - 1,378 -3,1415 - -3,1414 -17 - -16 и тд. Есть решение на 54 знака (счет по правилам) AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Ответить
Сообщение Задача округлить число в большую сторону так, чтобы последняя цифра была четной. Числа любые, целые и с десятичными разрядами. Пример округления 5 - 6 12 - 12 15 - 16 0 - 0 0,1 - 0,2 1,377 - 1,378 -3,1415 - -3,1414 -17 - -16 и тд. Есть решение на 54 знака (счет по правилам) Автор - AlexM Дата добавления - 03.12.2013 в 23:06
MCH
Дата: Вторник, 03.12.2013, 23:24 |
Сообщение № 2
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация:
752
±
Замечаний:
±
44 , 34 (не по правилам, т.е. с "=")
44 , 34 (не по правилам, т.е. с "=")MCH
Сообщение отредактировал MCH - Вторник, 03.12.2013, 23:25
Ответить
Сообщение 44 , 34 (не по правилам, т.е. с "=")Автор - MCH Дата добавления - 03.12.2013 в 23:24
AlexM
Дата: Вторник, 03.12.2013, 23:36 |
Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация:
1129
±
Замечаний:
0% ±
Excel 2003
Круто... А 0,119 - 0,12 получается?
Круто... А 0,119 - 0,12 получается? AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Ответить
Сообщение Круто... А 0,119 - 0,12 получается? Автор - AlexM Дата добавления - 03.12.2013 в 23:36
MCH
Дата: Вторник, 03.12.2013, 23:40 |
Сообщение № 4
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация:
752
±
Замечаний:
±
А 0,119 - 0,12 получается?
Да: 0,119 - 0,12 0,121 - 0,122 -0,119 - -0,118 -0,121 - -0,12 Только вот 0,129 округляется до 0,13, вроде как последняя цифра "3" - нечетная, подразумевается что третья цифра после запятой - "0" (четная)
А 0,119 - 0,12 получается?
Да: 0,119 - 0,12 0,121 - 0,122 -0,119 - -0,118 -0,121 - -0,12 Только вот 0,129 округляется до 0,13, вроде как последняя цифра "3" - нечетная, подразумевается что третья цифра после запятой - "0" (четная)MCH
Сообщение отредактировал MCH - Вторник, 03.12.2013, 23:49
Ответить
Сообщение А 0,119 - 0,12 получается?
Да: 0,119 - 0,12 0,121 - 0,122 -0,119 - -0,118 -0,121 - -0,12 Только вот 0,129 округляется до 0,13, вроде как последняя цифра "3" - нечетная, подразумевается что третья цифра после запятой - "0" (четная)Автор - MCH Дата добавления - 03.12.2013 в 23:40
AlexM
Дата: Понедельник, 09.12.2013, 07:57 |
Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация:
1129
±
Замечаний:
0% ±
Excel 2003
Только вот 0,129 округляется до 0,13
Будем считать округление до 0,130. И так сегодня понедельник. Пора открываться. Тема заинтересовала только Михаила. Наверно задача слишком простая. Формула которая у меня была на момент открытия темы. Код
=A1+МИН(1;10^(2-ДЛСТР(ОСТАТ(A1;1))))*ОСТАТ(ПРАВБ(A1);2)
Получилось сократить лишь до 51 символа. Код
=A1+10^МИН(;2-ДЛСТР(ОСТАТ(A1;1)))*ОСТАТ(ПРАВБ(A1);2)
Только вот 0,129 округляется до 0,13
Будем считать округление до 0,130. И так сегодня понедельник. Пора открываться. Тема заинтересовала только Михаила. Наверно задача слишком простая. Формула которая у меня была на момент открытия темы. Код
=A1+МИН(1;10^(2-ДЛСТР(ОСТАТ(A1;1))))*ОСТАТ(ПРАВБ(A1);2)
Получилось сократить лишь до 51 символа. Код
=A1+10^МИН(;2-ДЛСТР(ОСТАТ(A1;1)))*ОСТАТ(ПРАВБ(A1);2)
AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Ответить
Сообщение Только вот 0,129 округляется до 0,13
Будем считать округление до 0,130. И так сегодня понедельник. Пора открываться. Тема заинтересовала только Михаила. Наверно задача слишком простая. Формула которая у меня была на момент открытия темы. Код
=A1+МИН(1;10^(2-ДЛСТР(ОСТАТ(A1;1))))*ОСТАТ(ПРАВБ(A1);2)
Получилось сократить лишь до 51 символа. Код
=A1+10^МИН(;2-ДЛСТР(ОСТАТ(A1;1)))*ОСТАТ(ПРАВБ(A1);2)
Автор - AlexM Дата добавления - 09.12.2013 в 07:57
Pelena
Дата: Понедельник, 09.12.2013, 08:25 |
Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 19403
Репутация:
4555
±
Замечаний:
±
Excel 365 & Mac Excel
Наверно задача слишком простая
Дело не в этом. Думаю, сейчас, в преддверии Нового года, у всех стало меньше свободного времени для решения таких задачек. Да и Михаил сразу задал слишком высокую планку У меня есть вариант 45 символов Код
=ОКРВВЕРХ(A1;2/10^МАКС(ДЛСТР(ОСТАТ(A1;1))-2;))
Наверно задача слишком простая
Дело не в этом. Думаю, сейчас, в преддверии Нового года, у всех стало меньше свободного времени для решения таких задачек. Да и Михаил сразу задал слишком высокую планку У меня есть вариант 45 символов Код
=ОКРВВЕРХ(A1;2/10^МАКС(ДЛСТР(ОСТАТ(A1;1))-2;))
Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Наверно задача слишком простая
Дело не в этом. Думаю, сейчас, в преддверии Нового года, у всех стало меньше свободного времени для решения таких задачек. Да и Михаил сразу задал слишком высокую планку У меня есть вариант 45 символов Код
=ОКРВВЕРХ(A1;2/10^МАКС(ДЛСТР(ОСТАТ(A1;1))-2;))
Автор - Pelena Дата добавления - 09.12.2013 в 08:25
AlexM
Дата: Понедельник, 09.12.2013, 08:28 |
Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация:
1129
±
Замечаний:
0% ±
Excel 2003
Лена, у этого варианта проблема с отрицательными числами.
Лена, у этого варианта проблема с отрицательными числами. AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Ответить
Сообщение Лена, у этого варианта проблема с отрицательными числами. Автор - AlexM Дата добавления - 09.12.2013 в 08:28
Pelena
Дата: Понедельник, 09.12.2013, 08:30 |
Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 19403
Репутация:
4555
±
Замечаний:
±
Excel 365 & Mac Excel
Например?
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Например? Автор - Pelena Дата добавления - 09.12.2013 в 08:30
AlexM
Дата: Понедельник, 09.12.2013, 08:33 |
Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация:
1129
±
Замечаний:
0% ±
Excel 2003
-1,377 - #ЧИСЛО! -3,1415 - #ЧИСЛО! -17 - #ЧИСЛО! Функция с аргументами 3 и 2 вернет 4 А с -3 и 2 #ЧИСЛО!
-1,377 - #ЧИСЛО! -3,1415 - #ЧИСЛО! -17 - #ЧИСЛО! Функция с аргументами 3 и 2 вернет 4 А с -3 и 2 #ЧИСЛО! AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Сообщение отредактировал AlexM - Понедельник, 09.12.2013, 08:39
Ответить
Сообщение -1,377 - #ЧИСЛО! -3,1415 - #ЧИСЛО! -17 - #ЧИСЛО! Функция с аргументами 3 и 2 вернет 4 А с -3 и 2 #ЧИСЛО! Автор - AlexM Дата добавления - 09.12.2013 в 08:33
Pelena
Дата: Понедельник, 09.12.2013, 08:41 |
Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 19403
Репутация:
4555
±
Замечаний:
±
Excel 365 & Mac Excel
У меня корректно считает Проверила: действительно, отрицательные считает только в 2010 Попутно выяснила, что и с положительными числами не всё гладко, например, 24,15 неправильно округляет, видимо, из-за погрешности вычисления функции ОСТАТ(). Так что снимаю своё решение с конкурса
У меня корректно считает Проверила: действительно, отрицательные считает только в 2010 Попутно выяснила, что и с положительными числами не всё гладко, например, 24,15 неправильно округляет, видимо, из-за погрешности вычисления функции ОСТАТ(). Так что снимаю своё решение с конкурса Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Сообщение отредактировал Pelena - Понедельник, 09.12.2013, 08:55
Ответить
Сообщение У меня корректно считает Проверила: действительно, отрицательные считает только в 2010 Попутно выяснила, что и с положительными числами не всё гладко, например, 24,15 неправильно округляет, видимо, из-за погрешности вычисления функции ОСТАТ(). Так что снимаю своё решение с конкурса Автор - Pelena Дата добавления - 09.12.2013 в 08:41
AlexM
Дата: Понедельник, 09.12.2013, 09:31 |
Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация:
1129
±
Замечаний:
0% ±
Excel 2003
24,15 неправильно округляет
Хм... У меня то же.
24,15 неправильно округляет
Хм... У меня то же. AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Ответить
Сообщение 24,15 неправильно округляет
Хм... У меня то же. Автор - AlexM Дата добавления - 09.12.2013 в 09:31
MCH
Дата: Понедельник, 09.12.2013, 11:14 |
Сообщение № 12
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация:
752
±
Замечаний:
±
А у меня с 24,15 все хорошо: Код
=A1+ABS(A1-ЛЕВБ(A1/2;ДЛСТР(A1))*2)
А у меня с 24,15 все хорошо: Код
=A1+ABS(A1-ЛЕВБ(A1/2;ДЛСТР(A1))*2)
MCH
Ответить
Сообщение А у меня с 24,15 все хорошо: Код
=A1+ABS(A1-ЛЕВБ(A1/2;ДЛСТР(A1))*2)
Автор - MCH Дата добавления - 09.12.2013 в 11:14
Pelena
Дата: Понедельник, 09.12.2013, 11:24 |
Сообщение № 13
Группа: Админы
Ранг: Местный житель
Сообщений: 19403
Репутация:
4555
±
Замечаний:
±
Excel 365 & Mac Excel
Изящно, как всегда
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Изящно, как всегда Автор - Pelena Дата добавления - 09.12.2013 в 11:24
MCH
Дата: Понедельник, 09.12.2013, 12:03 |
Сообщение № 14
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация:
752
±
Замечаний:
±
Снимаю свою формулу, т.к. она не совсем корректна, так, например, 10,1 или 10,3 или 17,7 не правильно округлит Подумаю как ее усовершенствовать Кстати, у Алексея и Елены эти числа также не правильно округлятются
Снимаю свою формулу, т.к. она не совсем корректна, так, например, 10,1 или 10,3 или 17,7 не правильно округлит Подумаю как ее усовершенствовать Кстати, у Алексея и Елены эти числа также не правильно округлятются MCH
Сообщение отредактировал MCH - Понедельник, 09.12.2013, 12:07
Ответить
Сообщение Снимаю свою формулу, т.к. она не совсем корректна, так, например, 10,1 или 10,3 или 17,7 не правильно округлит Подумаю как ее усовершенствовать Кстати, у Алексея и Елены эти числа также не правильно округлятются Автор - MCH Дата добавления - 09.12.2013 в 12:03
MCH
Дата: Понедельник, 09.12.2013, 12:13 |
Сообщение № 15
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация:
752
±
Замечаний:
±
55: Код
=A1+ABS(A1-ЛЕВБ(A1/2;ДЛСТР(A1/2)-ОСТАТ(ПРАВБ(A1);2))*2)
55: Код
=A1+ABS(A1-ЛЕВБ(A1/2;ДЛСТР(A1/2)-ОСТАТ(ПРАВБ(A1);2))*2)
MCH
Ответить
Сообщение 55: Код
=A1+ABS(A1-ЛЕВБ(A1/2;ДЛСТР(A1/2)-ОСТАТ(ПРАВБ(A1);2))*2)
Автор - MCH Дата добавления - 09.12.2013 в 12:13
AlexM
Дата: Понедельник, 09.12.2013, 17:38 |
Сообщение № 16
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация:
1129
±
Замечаний:
0% ±
Excel 2003
Казалось просто, а сколько сюрпризов выплыло.
Казалось просто, а сколько сюрпризов выплыло. AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Ответить
Сообщение Казалось просто, а сколько сюрпризов выплыло. Автор - AlexM Дата добавления - 09.12.2013 в 17:38
MCH
Дата: Понедельник, 09.12.2013, 17:44 |
Сообщение № 17
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация:
752
±
Замечаний:
±
Стандарт IEEE 754 много сюрпризов хранит, а в моем случае еще и алгоритм не совсем корректный был
Стандарт IEEE 754 много сюрпризов хранит, а в моем случае еще и алгоритм не совсем корректный был MCH
Ответить
Сообщение Стандарт IEEE 754 много сюрпризов хранит, а в моем случае еще и алгоритм не совсем корректный был Автор - MCH Дата добавления - 09.12.2013 в 17:44
MCH
Дата: Понедельник, 09.12.2013, 17:53 |
Сообщение № 18
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация:
752
±
Замечаний:
±
Только что наткнулся, функция ОСТАТ() возвращает отрицательное число при положительных исходных данных (число и делитель):
Только что наткнулся, функция ОСТАТ() возвращает отрицательное число при положительных исходных данных (число и делитель): MCH
Сообщение отредактировал MCH - Понедельник, 09.12.2013, 17:54
Ответить
Сообщение Только что наткнулся, функция ОСТАТ() возвращает отрицательное число при положительных исходных данных (число и делитель): Автор - MCH Дата добавления - 09.12.2013 в 17:53
jakim
Дата: Среда, 18.12.2013, 16:23 |
Сообщение № 19
Группа: Друзья
Ранг: Старожил
Сообщений: 1216
Репутация:
316
±
Замечаний:
0% ±
Excel 2010
У меня вышла такая формула:
Код
=IFERROR(CEILING(A1/2;10^-(LEN(A1)-SEARCH(",";A1)))*2;CEILING(A1/2;1)*2)
Знаков больше, но считает вроде верно.
У меня вышла такая формула:
Код
=IFERROR(CEILING(A1/2;10^-(LEN(A1)-SEARCH(",";A1)))*2;CEILING(A1/2;1)*2)
Знаков больше, но считает вроде верно.
jakim
Ответить
Сообщение У меня вышла такая формула:
Код
=IFERROR(CEILING(A1/2;10^-(LEN(A1)-SEARCH(",";A1)))*2;CEILING(A1/2;1)*2)
Знаков больше, но считает вроде верно.
Автор - jakim Дата добавления - 18.12.2013 в 16:23
Russel
Дата: Четверг, 19.12.2013, 13:34 |
Сообщение № 20
Группа: Друзья
Ранг: Старожил
Сообщений: 1394
Репутация:
320
±
Замечаний:
0% ±
Excel 2010
44 символа: Код
=ЗАМЕНИТЬ(H40;ДЛСТР(H40);1;ЧЁТН(ПРАВБ(H40)))
UPD: отрицательные в меньшую сторону округляет. UPD2: Код
=ЗАМЕНИТЬ(H49;ДЛСТР(H49);1;НЕЧЁТ(ПРАВБ(H49))+ЗНАК(H49))
Неправильно считает ноль.
44 символа: Код
=ЗАМЕНИТЬ(H40;ДЛСТР(H40);1;ЧЁТН(ПРАВБ(H40)))
UPD: отрицательные в меньшую сторону округляет. UPD2: Код
=ЗАМЕНИТЬ(H49;ДЛСТР(H49);1;НЕЧЁТ(ПРАВБ(H49))+ЗНАК(H49))
Неправильно считает ноль. Russel
QIWI 9173973973
Сообщение отредактировал Russel - Четверг, 19.12.2013, 13:44
Ответить
Сообщение 44 символа: Код
=ЗАМЕНИТЬ(H40;ДЛСТР(H40);1;ЧЁТН(ПРАВБ(H40)))
UPD: отрицательные в меньшую сторону округляет. UPD2: Код
=ЗАМЕНИТЬ(H49;ДЛСТР(H49);1;НЕЧЁТ(ПРАВБ(H49))+ЗНАК(H49))
Неправильно считает ноль. Автор - Russel Дата добавления - 19.12.2013 в 13:34