Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Office (Word, Excel, Outlook и т.д.) (http://forum.oszone.net/forumdisplay.php?f=115)
-   -   как сделать выбор параметра из таблицы данных по входному условию (http://forum.oszone.net/showthread.php?t=207437)

Pozia 23-05-2011 22:42 1681378

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

okshef 24-05-2011 00:30 1681428

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

ferget 24-05-2011 01:20 1681451

так примерно

столбец 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 1681531

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

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

okshef 24-05-2011 15:30 1681758

Pozia, вы говорите одно, а воплощаете - другое. У вас в верхних ячейках появляется значение параметра по номеру двигателя в списке.
Для этого (чтобы 100000 "ЕСЛИ" не писать) есть функция ВПР (VLOOKUP) для подстановки значений

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

Pozia 24-05-2011 15:37 1681765

okshef, да, нужно найти номер двигателя. А по нему заполнить верхнюю строку данными из таблицы по этому найденному номеру

okshef 24-05-2011 15:48 1681773

А зачем нужна таблица слева?

Pozia 24-05-2011 16:02 1681787

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

ferget 24-05-2011 18:14 1681866

ВПР возвращает ближайшее меньшее, а нужно ближайшее большее

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

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

okshef 24-05-2011 20:38 1681939

Используйте результат функции МАКС в качестве аргумента ВПР
Код:

=ВПР(МАКС(....)....)

okshef 25-05-2011 23:03 1682640

Pozia, покурите этот способ Связанные выпадающие списки - Представьте себе два выпадающих списка в ячейках, причем от того, что выбрано в первом - зависит содержимое второго

Pozia 25-05-2011 23:09 1682643

в конце недели получится вникнуть в метод. потом отпишусь. спасибо!

Pozia 06-06-2011 10:54 1689181

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

okshef 06-06-2011 21:01 1689556

Разберем формулу. Есть таблица из 2-х столбцов в диапазоне $A$1:$B$25
Код:

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

Pozia 06-06-2011 21:45 1689588

okshef,
не так я вас тогда видимо понял. Я думал =ВПР(МАКС(A1:A25);$A$1:$B$25;3;0) даст мне результат
Цитата:

Цитата ferget
ВПР возвращает ближайшее меньшее, а нужно ближайшее большее »

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

okshef 06-06-2011 21:49 1689591

Попробуйте заменить МАКС(A1:A25) на
Цитата:

Цитата ferget
МАКС(ЕСЛИ(М4:М24>I3;M4:M24)) »

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


Время: 17:54.

Время: 17:54.
© OSzone.net 2001-