Новости:

К первому сообщению темы должен быть прикреплен файл примера в формате xls*.
Приложив пример, Вы избавите себя и других от вопросов типа "А какой критерий?", "А куда выводить результат?", "А сколько строк?" и все тех же просьб выложить файл. Рисовать за Вас Ваши же таблички с заданиями, а затем и решение к ним, никто желанием не горит. Да и, как показывает практика, в большинстве случаев без файла решения не найти.

Главное меню

Подбор ближайшых значений двух параметров

Автор dovis, 26.07.2011, 16:54

« назад - далее »

dovis

Добрый день,

может ли мне кто нибудь помочь с следующей задачей. Я имею таблицу с комбинациями двух параметров, то есть два столбца с параметрами электродвигателей - номинальная мощность и  обороты в минуту. К стати значений обоих столбцов по определенному порядку повторяется. А так же имею два ячейки с расчетными теми же самыми параметрами. Суть задачи подобрать из таблицы строку с ближайшыми к расчетным значениям в большую сторону и вывести в отдельные ячейки. Какую функцию или комбинацию функций надо изпользовать в етом случае? (файл приложил).

Спасибо заранее :)

_Boroda_

#1
можно так
Для В6
=ИНДЕКС(F$3:F$159;ПОИСКПОЗ(МИН(ЕСЛИ(F$3:F$159<B2;1000000;F$3:F$159)*ЕСЛИ(G$3:G$159<B3;1000000;G$3:G$159));ЕСЛИ(F$3:F$159<B2;1000000;F$3:F$159)*ЕСЛИ(G$3:G$159<B3;1000000;G$3:G$159);0))
Для В7
=ИНДЕКС(G$3:G$159;ПОИСКПОЗ(МИН(ЕСЛИ(F$3:F$159<B2;1000000;F$3:F$159)*ЕСЛИ(G$3:G$159<B3;1000000;G$3:G$159));ЕСЛИ(F$3:F$159<B2;1000000;F$3:F$159)*ЕСЛИ(G$3:G$159<B3;1000000;G$3:G$159);0))
Формулы массива. Вводить нажатием Контрл Шифт Ентер вместо обычного Ентера

Выводит пару, у которой каждое значение больше исходного и их произведение минимально
Скажи мне, кудесник, любимец ба'гов...



Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995

MCH

или так:
=ИНДЕКС(F3:F159;ПОИСКПОЗ(МИН(((B2-(F3:F159>=B2)*F3:F159)/B2*(B3-(G3:G159>=B3)*G3:G159)/B2)^2);((B2-(F3:F159>=B2)*F3:F159)/B2*(B3-(G3:G159>=B3)*G3:G159)/B2)^2;))

=ИНДЕКС(G3:G159;ПОИСКПОЗ(МИН(((B2-(F3:F159>=B2)*F3:F159)/B2*(B3-(G3:G159>=B3)*G3:G159)/B2)^2);((B2-(F3:F159>=B2)*F3:F159)/B2*(B3-(G3:G159>=B3)*G3:G159)/B2)^2;))

_Boroda_

Скажи мне, кудесник, любимец ба'гов...



Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995

IKor

Чтобы избежать использование формул массива, можно использовать дополнительный столбец (хотя я и не слишком люблю их использовать). Формула та же, но разобраться с ней проще.

Кроме того, можно результаты поиска выводить не в явном виде - наилучший результат в строке такой-то, а предлагать на выбор несколько вариантов, ближайших к наилучшему. Это реализовано при помощи условного форматирования, функции НАИМЕНЬШИЙ() и того же дополнителного столбца.

dovis

Спасибо большое всем за помощь и советы. Теперь осталось изучить синтаксис функций, которые вы предложили :)

MCH

Цитата: _Boroda_ от 26.07.2011, 17:44
MCH

Проверь 1,71 и 2849
Да, накосячил немного.
можно еще так:
=ИНДЕКС(F$3:F$159;ПОИСКПОЗ(МИН(ЕСЛИ((B$2<=F$3:F$159)*(B$3<=G$3:G$159);F$3:F$159/B$2+G$3:G$159/B$3));ЕСЛИ((B$2<=F$3:F$159)*(B$3<=G$3:G$159);F$3:F$159/B$2+G$3:G$159/B$3);))

=ИНДЕКС(G$3:G$159;ПОИСКПОЗ(МИН(ЕСЛИ((B$2<=F$3:F$159)*(B$3<=G$3:G$159);F$3:F$159/B$2+G$3:G$159/B$3));ЕСЛИ((B$2<=F$3:F$159)*(B$3<=G$3:G$159);F$3:F$159/B$2+G$3:G$159/B$3);))

или даже так:
=ИНДЕКС(F$3:F$159;ПОИСКПОЗ(МИН(ЕСЛИ((B$2<=F$3:F$159)*(B$3<=G$3:G$159);F$3:F$159/B$2+G$3:G$159/B$3));F$3:F$159/B$2+G$3:G$159/B$3;))

=ИНДЕКС(G$3:G$159;ПОИСКПОЗ(МИН(ЕСЛИ((B$2<=F$3:F$159)*(B$3<=G$3:G$159);F$3:F$159/B$2+G$3:G$159/B$3));F$3:F$159/B$2+G$3:G$159/B$3;))