![]() |
Модераторы: mihanik |
![]() ![]() ![]() |
|
BlackHawk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 15.8.2003 Репутация: нет Всего: нет |
Привет!
Вопрос довольно непростой: как правильно синтактически построить формулу сразу с несколькими условиями. Например. Есть некая таблица в 2 столбика: • в первом - столбец А - числовые значения • во втором - столбец В - расчетные данные необходимо создать формулу с условиями: - если значение А <90, то А*0,2 - если 90<А<100, то А*0,4 - если 100<А<120, то А*0,5 все эти три условия необходимо вписать в одну формулу в расчетном столбце * для одного условия формула будет иметь вид: =ЕСЛИ(ИЛИ(A1>90; A1<100); A1*0,4) |
|||
|
||||
~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: нет Всего: 68 |
BlackHawk
Справка:
|
|||
|
||||
BlackHawk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 15.8.2003 Репутация: нет Всего: нет |
ОК.
Круто, все работает! Рекомендую всем: очень кульный прием, помогает при сложных рассчетах!!! Так держать!!! :-))))))))))))))))))))))))))))))))) |
|||
|
||||
~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: нет Всего: 68 |
BlackHawk
Ну ды как водиться, если ничего не помагает, курите маны ![]() |
|||
|
||||
BlackHawk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 15.8.2003 Репутация: нет Всего: нет |
А вот полученная формула:
=ЕСЛИ((ячейка_1<95%);ячейка_2*0;ЕСЛИ(ИЛИ(95%<=ячейка_1; ячейка_1<105%);ячейка_2*0,025;ЕСЛИ(ИЛИ(105%<=ячейка_1; ячейка_1<115%);ячейка_2*0,025;ЕСЛИ(ИЛИ(115%<=ячейка_1; ячейка_1<=120%);ячейка_2*0,03;ЕСЛИ(ИЛИ(120%<ячейка_1);ячейка_2*0,035))))) здесь ячейка_1 - координата ячейки процентные ставки и коэффициенты умножения можно варьировать может применяться, например при расчете премий, в зависимости от процента выполнения плана.... рекомендую взять на вооружение. Успехов. ![]() |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
BlackHawk
При сложных расчетах куда лучше помогает добавление в книгу модуля с необходимыми расчетными формулами. Только не забываем вставлять Application.Volatile. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
AsIs |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 2.4.2005 Где: Санкт-Петербург Репутация: 15 Всего: 17 |
![]() НАМНОГО легче и эффективнее использовать функцию ВПР. В отдельной подстановочной таблице указываются в первом столбце диапазоны значения А, а во втором столбце коэффициент для умножения. Читайте справку - там все довольно просто. А что касается функции ЕСЛИ, то она хороша, когда используется с одним, двумя, ну может быть тремя условиями, а дальше эффективность чтения, исправления, верификации сильно снижается. Это сообщение отредактировал(а) AsIs - 31.5.2005, 18:16 |
|||
|
||||
Staruha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1292 Регистрация: 1.2.2004 Где: Казань Репутация: 6 Всего: 27 |
Функция ЕСЛИ может иметь до шести колен ЕСЛИ. Если удасться все отследить ,то ощущение наличия интелекта.
![]() -------------------- Возмездие настигнет |
|||
|
||||
likhobory |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 466 Регистрация: 17.5.2005 Где: Москва Репутация: 5 Всего: 20 |
на вкус и цвет...
IMHO в данном случае вариант с формулами рабочего листа удобен при одно/двукратном применении в листе, в противном случае проще сварганить собственную ф-ю и воспользоваться вариантом, предложенным Akina |
|||
|
||||
~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: нет Всего: 68 |
До 7-ми. На такой задаче писать модуль откровенно вламы, при более сложных расчетах/отчетах естественно это лучший вариант. |
|||
|
||||
AsIs |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 2.4.2005 Где: Санкт-Петербург Репутация: 15 Всего: 17 |
Ну давайте подискутируем... ![]() Чем своя собственная функция, реализованная в модуле будет отличаться по функциональным возможностям от ВПР? Что касается ЕСЛИ, то в случае наличия семи диапазонов на числовой оси необходимо шесть вложенных ЕСЛИ, в то время как при применении ВПР нужна одна функция ВПР. ![]() Хотя согласен, на вкус и цвет... Ну не нравятся кому-то функции из трех букв, что тут поделаешь. ![]() PS: прочитал написанное - прямо как коммерческий агент по продажам функции ВПР. ![]() Это сообщение отредактировал(а) AsIs - 1.6.2005, 12:57 |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
А тем, что ей ткнул пальцем, откуда брать данные, и не заботишься о том чтобы все они подряд шли в одной колоночке... а можно и автоматом найти что надо и посчитать как хочется. Встроенная функция хотя и быстрая, но тупа-а-ая... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
AsIs |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 2.4.2005 Где: Санкт-Петербург Репутация: 15 Всего: 17 |
Я не против самой идеи написания собственных функций. Речь идет о конкретном примере. Что "посчитать как хочется"? Насколько я понимаю, здесь речь шла о подстановке определенного коэффициента в зависимости от числового значения. О каких особых расчетах идет речь? Как в пользовательской функции указать границы диапазонов? Вбить в сами IF - и это эффективное решение? Задать их в массиве - а чем тогда это отличается от ввода в колонки значений. А заботиться всегда надо о чем-то. Пусть значения вводятся в столбик или где-то вводятся в модуле.
Определите Ваши критерии "тупизны". ![]() PS: споры как лучше реализовывать : писать модули или использовать стандартные функции сродни религиозным спорам о том какой язык программирования лучше. |
||||
|
|||||
Akina |
|
||||||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
Использование встроенной функции требует держать где-то таблицу коэффициентов. Самописной - нет.
Функция делает то что кодер написАл. В оптимуме - то что он хотел. Как прявило я хочу немного не то, что хотел кодер из Майкрософт. В этом случае я предпочитаю сразу сделать сам, а не комбинировать чужие поделки в надежде собрать то что мне нужно. В основном - согласен. Да, спор действительно религиозный. Добавлено @ 14:23 По сабжу: функция типа
Это будет работать быстрее чем ВПР. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||||
|
|||||||
likhobory |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 466 Регистрация: 17.5.2005 Где: Москва Репутация: 5 Всего: 20 |
а скольких споров и проблем можно было-бы избежать, если б не позиция мелкософта в отношении исПодников, эх, старая песня...
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Работа с MS Office" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще!
|
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Работа с MS Office | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |