![]() |
как сделать выбор параметра из таблицы данных по входному условию
Есть таблица двигателей. Отсортированы они по частоте вращения n (3000, 1500, 1000...) и по мощность в каждой частоте вращения (0,09, 0,12, 0,18...). В синей клетке я выбрал нужный мне двигатель исходя из начальных условий требуемой мощности (Мощность двигателя больше требуемой в желтой клетке на один уровень) и требуемой частоты вращения (то же условие относительно частоты вращения). Как видно сделал я это через одно место... с помощью условия ЕСЛИ. Можно ли как то более грамотно организовать выборку? Может есть какие нибудь специальные средства в офисе для решения такого рода задач?
Спасибо заранее! |
Вы неправильно задаете вопрос. Сначала опишите условия задачи, а затем - цель. Пока по файлу понять ничего невозможно.
|
так примерно
столбец N делим на пять диапазонов [4:27], [28:52], [53:72], [73:90], [91:92] для N [4:27]=3000, [28:52]=1500, [53:72]=1000, [73:90]=750, [91:92]=600 берем число в ячейке I7 и выбираем диапазон со значение большим или равно берем число в ячейке I3 и в соответствующем диапазоне в столбце М находим строку с ближайшим большим числом в ячейку I11 заносим число в столбце К найденной строки |
okshef, в условии даны частота вращения и мощность - слева столбец, первые две цифры. Найти номер подходящего двигателя по критериям что я уже описал. В том же столбце стоит выбраный мной двигатель (третье число) ужасно долгой методикой. Как сделать проще?
ferget, а воплотить сказанное в моем файле можете? |
Pozia, вы говорите одно, а воплощаете - другое. У вас в верхних ячейках появляется значение параметра по номеру двигателя в списке.
Для этого (чтобы 100000 "ЕСЛИ" не писать) есть функция ВПР (VLOOKUP) для подстановки значений Если вам нужно найти номер двигателя в конечном счете, то это гораздо более сложная задача - попробую подумать. |
okshef, да, нужно найти номер двигателя. А по нему заполнить верхнюю строку данными из таблицы по этому найденному номеру
|
А зачем нужна таблица слева?
|
не зачем. Она просто осталась. На этой странице еще много расчетов завязаных на выбранном двигателе. Я оставил таблицу двигателей, и исходные данные - требуемая частота вращения и мощность
|
ВПР возвращает ближайшее меньшее, а нужно ближайшее большее
нашел формулу массива =МАКС(ЕСЛИ(М4:М24>I3;M4:M24)) возвращает ближайшую большую мощность для двигателей с n=3000 об/мин, как из нее получить номер строки? |
Используйте результат функции МАКС в качестве аргумента ВПР
Код:
=ВПР(МАКС(....)....) |
|
в конце недели получится вникнуть в метод. потом отпишусь. спасибо!
|
okshef, суть зависимых выпадающих списков понял и применил к другому месту в своих расчетах но не в данном вопросе. Не понимаю как сделать автоматичиески.
вы писали такую команду "= В П Р ( МАК С ( . . . . ) . . . . )". Как ВПР и МАКС работает понимаю, как их вместе связать в контексте решаемого вопроса не пойму. Можно простенький пример с набором произвольных чисел? |
Разберем формулу. Есть таблица из 2-х столбцов в диапазоне $A$1:$B$25
Код:
=ВПР(МАКС(A1:A25);$A$1:$B$25;3;0) на следующем этапе ВПР снова ищет число в таблице и находит значение, находящееся во втором столбце, в той строке, в которой находится число, найденное функцией МАКС. |
okshef,
не так я вас тогда видимо понял. Я думал =ВПР(МАКС(A1:A25);$A$1:$B$25;3;0) даст мне результат Цитата:
|
Попробуйте заменить МАКС(A1:A25) на
Цитата:
|
Время: 17:54. |
Время: 17:54.
© OSzone.net 2001-