PDA

Показать полную графическую версию : как сделать выбор параметра из таблицы данных по входному условию


Pozia
23-05-2011, 22:42
Есть таблица двигателей. Отсортированы они по частоте вращения n (3000, 1500, 1000...) и по мощность в каждой частоте вращения (0,09, 0,12, 0,18...). В синей клетке я выбрал нужный мне двигатель исходя из начальных условий требуемой мощности (Мощность двигателя больше требуемой в желтой клетке на один уровень) и требуемой частоты вращения (то же условие относительно частоты вращения). Как видно сделал я это через одно место... с помощью условия ЕСЛИ. Можно ли как то более грамотно организовать выборку? Может есть какие нибудь специальные средства в офисе для решения такого рода задач?
Спасибо заранее!

okshef
24-05-2011, 00:30
Вы неправильно задаете вопрос. Сначала опишите условия задачи, а затем - цель. Пока по файлу понять ничего невозможно.

ferget
24-05-2011, 01:20
так примерно

столбец 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 заносим число в столбце К найденной строки

Pozia
24-05-2011, 09:20
okshef, в условии даны частота вращения и мощность - слева столбец, первые две цифры. Найти номер подходящего двигателя по критериям что я уже описал. В том же столбце стоит выбраный мной двигатель (третье число) ужасно долгой методикой. Как сделать проще?

ferget, а воплотить сказанное в моем файле можете?

okshef
24-05-2011, 15:30
Pozia, вы говорите одно, а воплощаете - другое. У вас в верхних ячейках появляется значение параметра по номеру двигателя в списке.
Для этого (чтобы 100000 "ЕСЛИ" не писать) есть функция ВПР (VLOOKUP) для подстановки значений (http://planetaexcel.ru/tip.php?aid=26)

Если вам нужно найти номер двигателя в конечном счете, то это гораздо более сложная задача - попробую подумать.

Pozia
24-05-2011, 15:37
okshef, да, нужно найти номер двигателя. А по нему заполнить верхнюю строку данными из таблицы по этому найденному номеру

okshef
24-05-2011, 15:48
А зачем нужна таблица слева?

Pozia
24-05-2011, 16:02
не зачем. Она просто осталась. На этой странице еще много расчетов завязаных на выбранном двигателе. Я оставил таблицу двигателей, и исходные данные - требуемая частота вращения и мощность

ferget
24-05-2011, 18:14
ВПР возвращает ближайшее меньшее, а нужно ближайшее большее

нашел формулу массива
=МАКС(ЕСЛИ(М4:М24>I3;M4:M24))

возвращает ближайшую большую мощность для двигателей с n=3000 об/мин, как из нее получить номер строки?

okshef
24-05-2011, 20:38
Используйте результат функции МАКС в качестве аргумента ВПР
=ВПР(МАКС(....)....)

okshef
25-05-2011, 23:03
Pozia, покурите этот способ Связанные выпадающие списки - Представьте себе два выпадающих списка в ячейках, причем от того, что выбрано в первом - зависит содержимое второго (http://www.planetaexcel.ru/tip.php?aid=64)

Pozia
25-05-2011, 23:09
в конце недели получится вникнуть в метод. потом отпишусь. спасибо!

Pozia
06-06-2011, 10:54
okshef, суть зависимых выпадающих списков понял и применил к другому месту в своих расчетах но не в данном вопросе. Не понимаю как сделать автоматичиески.
вы писали такую команду "= В П Р ( МАК С ( . . . . ) . . . . )". Как ВПР и МАКС работает понимаю, как их вместе связать в контексте решаемого вопроса не пойму. Можно простенький пример с набором произвольных чисел?

okshef
06-06-2011, 21:01
Разберем формулу. Есть таблица из 2-х столбцов в диапазоне $A$1:$B$25
=ВПР(МАКС(A1:A25);$A$1:$B$25;3;0)
МАКС(А1:А25) - находит максимальное по значению число в первом столбце.
на следующем этапе ВПР снова ищет число в таблице и находит значение, находящееся во втором столбце, в той строке, в которой находится число, найденное функцией МАКС.

Pozia
06-06-2011, 21:45
okshef,
не так я вас тогда видимо понял. Я думал =ВПР(МАКС(A1:A25);$A$1:$B$25;3;0) даст мне результат
ВПР возвращает ближайшее меньшее, а нужно ближайшее большее »

а это не знаю как прикрутить к решаемому вопросу...

okshef
06-06-2011, 21:49
Попробуйте заменить МАКС(A1:A25) на МАКС(ЕСЛИ(М4:М24>I3;M4:M24)) »

Хотя, честно, может я что-то не понимаю ... И советую ерунду




© OSzone.net 2001-2012