Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2010, 18:27   #1
Каравай
Пользователь
 
Регистрация: 16.02.2010
Сообщений: 34
По умолчанию "ОКРВВЕРХ", "ОКР", "ЕСЛИ". Как бы их связать.

Здравствуйте. Прошу прощения, великодушно, если ответ на вопрос уже есть, я конкретно этого случая не встретил. Вопрос не так уж и важен для меня, но добавил бы удобство на порядок. Суть в следующем (образно): в ячейках а1, б1, с1...... вручную вбиваются целые числовые значения, в ячейках а2, б2 ,с2..... формулы, завязанные на а1, б1, с1...... ; и других ячейках, в которых в результате получаются дробные числа. Задача: в ячейках а3, б3, с3..... отобразить округлённые до сотых в большую сторону а2, б2 ,с2..... . Это я банально решил окрвверх, пример: =ОКРВВЕРХ(C4;0,01) и т. д. То есть 0,281846205 это 0,29; 0,78922222 это 0,79; 0,1111111 это 0,12; с этим всё просто. Но как решить задачу, что если число в а2, б2 ,с2..... получилось с двумя знаками после запятой, то в а3, б3, с3..... эксель оставил бы его без изменений, то есть если в а2 получилось 0,46, то в а3 отображалось также 0,46, а не 0,47; но чтобы при следующем вводе в а1 другого числа, когда в а2 получится число с более чем 2 знака после запятой, работал простой окрвверх. Заранее спасибо.
Вложения
Тип файла: rar вопрос.rar (2.4 Кб, 11 просмотров)
Каравай вне форума Ответить с цитированием
Старый 16.02.2010, 19:44   #2
Eresiarh
Пользователь
 
Регистрация: 15.01.2010
Сообщений: 31
По умолчанию

Тяжело понять в чем же проблема. Сами же говорите до сотых... Но тогда к примеру, а если прибавлять к каждому числу что-нить в стиле +0,0000001?

=ОКРУГЛВВЕРХ(A2+0.0000001;2)
Eresiarh вне форума Ответить с цитированием
Старый 16.02.2010, 19:53   #3
0mega
Форумчанин
 
Регистрация: 12.09.2009
Сообщений: 231
По умолчанию

а если так ...
Вложения
Тип файла: zip до сот.xls.zip (3.7 Кб, 11 просмотров)
0mega вне форума Ответить с цитированием
Старый 16.02.2010, 20:08   #4
0mega
Форумчанин
 
Регистрация: 12.09.2009
Сообщений: 231
По умолчанию

похоже что я не предусмотрел вариант когда будет ровно 2-а знака после запятой ...
попробуйте , если что-то не так - тогда переделаю
0mega вне форума Ответить с цитированием
Старый 16.02.2010, 20:43   #5
Eresiarh
Пользователь
 
Регистрация: 15.01.2010
Сообщений: 31
По умолчанию

А мой вариант вроде работает при всех случаях...
Eresiarh вне форума Ответить с цитированием
Старый 16.02.2010, 21:09   #6
0mega
Форумчанин
 
Регистрация: 12.09.2009
Сообщений: 231
По умолчанию

вы наступили на те же грабли что и я ...
При значении 3,92 происходит округление 3,93
Автор просил
Цитата:
...если число в а2, б2 ,с2..... получилось с двумя знаками после запятой, то в а3, б3, с3..... эксель оставил бы его без изменений, то есть если в а2 получилось 0,46, то в а3 отображалось также 0,46, а не 0,47
В ZIPe не самый лучший вариант , но ...
Вложения
Тип файла: zip до сот.xls.zip (4.7 Кб, 13 просмотров)
0mega вне форума Ответить с цитированием
Старый 16.02.2010, 21:19   #7
Eresiarh
Пользователь
 
Регистрация: 15.01.2010
Сообщений: 31
По умолчанию

Это все из-за написания вопроса одним предложением(
Я не знаю почему, но это ---> =ОКРУГЛВВЕРХ(A2;2) и так округляет 0,46 до 0,46, а 0,45646 до 0,46... Что еще нужно?
Eresiarh вне форума Ответить с цитированием
Старый 16.02.2010, 21:30   #8
Каравай
Пользователь
 
Регистрация: 16.02.2010
Сообщений: 34
По умолчанию

Спасибо за ответы, я Вам благодарен. Не смог разобраться, подходят эти варианты мне или нет, опишу конкретней в чём задача. Пример:
если c4=0,738530081 ; то d4=0,74
если c4=2,121145098, то d4=2,13
но,
если с4=0,73, то d4=0,73
если c4=2,12, то d4=2,12;

всё дело в том, что при использовании ТОЛЬКО функции окрвверх до сотых, то есть если в ячейке d4 забить формулу "=ОКРВВЕРХ(C4;0,01)" то первые два примера отображаются как мне надо:
если c4=0,738530081 ; то d4=0,74
если c4=2,121145098, то d4=2,13;

а вот два последних - нет:
если с4=0,73, то d4=0,74 (надо 0,73)
если c4=2,12, то d4=2,13 (надо 2,12)

Вот и думаю, что же здесь за формула нужна, чтобы, допустим, эти четыре (например) примера поочерёдно ввести и увидеть нужный мне ответ. Ввожу я целые числа, в данных примерах в в4, а уже в с4 они преобразуются во все эти:
0,738530081
2,121145098
0,73
2,12
и таааааааааак далее,
ну а в d4 нужное мне округлённое число.
Каравай вне форума Ответить с цитированием
Старый 16.02.2010, 21:38   #9
Eresiarh
Пользователь
 
Регистрация: 15.01.2010
Сообщений: 31
По умолчанию

У меня все так и делает
Вложения
Тип файла: zip округл.zip (1.5 Кб, 20 просмотров)
Eresiarh вне форума Ответить с цитированием
Старый 16.02.2010, 21:39   #10
Каравай
Пользователь
 
Регистрация: 16.02.2010
Сообщений: 34
По умолчанию

Eresiarh, не увидел Ваш пост, наверное писал в это время. Если =ОКРУГЛВВЕРХ(A2;2), то если в А2 0,46 - он округляет до 2, я Вас наверное не так понял. Уж извините, никак не соображу..
Каравай вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
Паскаль. 2 задачи (Программа "Верификация","КАК БРИГАДИРУ РАЗДЕЛИТЬ ЗАРОБОТАННЫЕ ДЕНЬГИ") Valik102 Помощь студентам 3 20.05.2009 20:42
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51