Выбор формулы вычисления исходя из условий
heaven33rus
Дата: Пятница, 08.05.2015, 14:16 |
Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 91
Репутация:
0
±
Замечаний:
20% ±
Excel 2010
Приветствую. Есть задача сделать простую считалку. Имеются 3 объекта, каждому присвоено 5 значений, которые соответствуют определенному диапазону. Пример: первое значение 500, оно выбирается формулой, если в другой ячейке введено значение от 0 до 15 ну и так далее. Я сделал работающую считалку на 2 объекта, при выборе третьего формула выдает 9999, просто для наглядности. Посмотрите в общем мой пример, я прям чую, что мое решение очень очень очень не оптимальное, с учетом, что считалка будет на полтора десятка объектов, формула будет на несколько тысяч знаков :(((
Приветствую. Есть задача сделать простую считалку. Имеются 3 объекта, каждому присвоено 5 значений, которые соответствуют определенному диапазону. Пример: первое значение 500, оно выбирается формулой, если в другой ячейке введено значение от 0 до 15 ну и так далее. Я сделал работающую считалку на 2 объекта, при выборе третьего формула выдает 9999, просто для наглядности. Посмотрите в общем мой пример, я прям чую, что мое решение очень очень очень не оптимальное, с учетом, что считалка будет на полтора десятка объектов, формула будет на несколько тысяч знаков :((( heaven33rus
Ответить
Сообщение Приветствую. Есть задача сделать простую считалку. Имеются 3 объекта, каждому присвоено 5 значений, которые соответствуют определенному диапазону. Пример: первое значение 500, оно выбирается формулой, если в другой ячейке введено значение от 0 до 15 ну и так далее. Я сделал работающую считалку на 2 объекта, при выборе третьего формула выдает 9999, просто для наглядности. Посмотрите в общем мой пример, я прям чую, что мое решение очень очень очень не оптимальное, с учетом, что считалка будет на полтора десятка объектов, формула будет на несколько тысяч знаков :((( Автор - heaven33rus Дата добавления - 08.05.2015 в 14:16
_Boroda_
Дата: Пятница, 08.05.2015, 14:47 |
Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16895
Репутация:
6613
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Так нужно? Код
=ЕСЛИ(E10;ПРОСМОТР(;-1/(--ЛЕВБ(B1:F1;ПОИСК("-";B1:F1)-1)<E10);ИНДЕКС(B2:F4;ПОИСКПОЗ(D10;A2:A4;);))*E10;)
Немассивная формула. Если не учитывать, что Е10 может равняться нулю, то без ЕСЛИ Код
=ПРОСМОТР(;-1/(--ЛЕВБ(B1:F1;ПОИСК("-";B1:F1)-1)<E10);ИНДЕКС(B2:F4;ПОИСКПОЗ(D10;A2:A4;);))*E10
Так нужно? Код
=ЕСЛИ(E10;ПРОСМОТР(;-1/(--ЛЕВБ(B1:F1;ПОИСК("-";B1:F1)-1)<E10);ИНДЕКС(B2:F4;ПОИСКПОЗ(D10;A2:A4;);))*E10;)
Немассивная формула. Если не учитывать, что Е10 может равняться нулю, то без ЕСЛИ Код
=ПРОСМОТР(;-1/(--ЛЕВБ(B1:F1;ПОИСК("-";B1:F1)-1)<E10);ИНДЕКС(B2:F4;ПОИСКПОЗ(D10;A2:A4;);))*E10
_Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Так нужно? Код
=ЕСЛИ(E10;ПРОСМОТР(;-1/(--ЛЕВБ(B1:F1;ПОИСК("-";B1:F1)-1)<E10);ИНДЕКС(B2:F4;ПОИСКПОЗ(D10;A2:A4;);))*E10;)
Немассивная формула. Если не учитывать, что Е10 может равняться нулю, то без ЕСЛИ Код
=ПРОСМОТР(;-1/(--ЛЕВБ(B1:F1;ПОИСК("-";B1:F1)-1)<E10);ИНДЕКС(B2:F4;ПОИСКПОЗ(D10;A2:A4;);))*E10
Автор - _Boroda_ Дата добавления - 08.05.2015 в 14:47
Samaretz
Дата: Пятница, 08.05.2015, 14:56 |
Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 223
Репутация:
63
±
Замечаний:
0% ±
Excel 2010; 2013; 2016
Так надо (универсальная формула, которая выбирает из таблицы значение в зависимости от выбранного объекта и введенного числа)? Код
=INDEX(B2:F15;MATCH(D20;Объекты;0);MATCH(E20;{0;15;150;670;8900};1))
Так надо (универсальная формула, которая выбирает из таблицы значение в зависимости от выбранного объекта и введенного числа)? Код
=INDEX(B2:F15;MATCH(D20;Объекты;0);MATCH(E20;{0;15;150;670;8900};1))
Samaretz
Ответить
Сообщение Так надо (универсальная формула, которая выбирает из таблицы значение в зависимости от выбранного объекта и введенного числа)? Код
=INDEX(B2:F15;MATCH(D20;Объекты;0);MATCH(E20;{0;15;150;670;8900};1))
Автор - Samaretz Дата добавления - 08.05.2015 в 14:56
китин
Дата: Пятница, 08.05.2015, 14:58 |
Сообщение № 4
Группа: Модераторы
Ранг: Экселист
Сообщений: 7034
Репутация:
1079
±
Замечаний:
0% ±
Excel 2007;2010;2016
а так пойдет?Код
=$E$10*ИНДЕКС($B$2:$F$4;ПОИСКПОЗ($D$10;$A$2:$A$4;0);ПРОСМОТР($E$10;{0;16;151;671;8901};{1;2;3;4;5}))
а так пойдет?Код
=$E$10*ИНДЕКС($B$2:$F$4;ПОИСКПОЗ($D$10;$A$2:$A$4;0);ПРОСМОТР($E$10;{0;16;151;671;8901};{1;2;3;4;5}))
китин
Не судите очень строго:я пытаюсь научиться ЯД 41001877306852
Ответить
Сообщение а так пойдет?Код
=$E$10*ИНДЕКС($B$2:$F$4;ПОИСКПОЗ($D$10;$A$2:$A$4;0);ПРОСМОТР($E$10;{0;16;151;671;8901};{1;2;3;4;5}))
Автор - китин Дата добавления - 08.05.2015 в 14:58
heaven33rus
Дата: Пятница, 08.05.2015, 15:02 |
Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 91
Репутация:
0
±
Замечаний:
20% ±
Excel 2010
Ой, сколько всего Сейчас буду это все переваривать Спасибо, я обязательно отпишусь о результатах P.S. Все варианты подходят, спасибо всем вам большое
Ой, сколько всего Сейчас буду это все переваривать Спасибо, я обязательно отпишусь о результатах P.S. Все варианты подходят, спасибо всем вам большое heaven33rus
Сообщение отредактировал heaven33rus - Пятница, 08.05.2015, 15:09
Ответить
Сообщение Ой, сколько всего Сейчас буду это все переваривать Спасибо, я обязательно отпишусь о результатах P.S. Все варианты подходят, спасибо всем вам большое Автор - heaven33rus Дата добавления - 08.05.2015 в 15:02