Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.07.2012, 14:50   #1
Acro
Пользователь
 
Регистрация: 21.10.2008
Сообщений: 39
По умолчанию Поиск по нескольким диапазонам

Прошу помочь понять суть формулы



Я набрёл на этот вариант при разрешении вопроса о ПОИСКПОЗ в нескольких столбцах. Немного изменил её, но никак не могу применить к своему случаю, наверно прежде всего из-за того что логику работы не понимаю.

Общий вариант во вложении
Вложения
Тип файла: zip example.zip (4.9 Кб, 13 просмотров)
Acro вне форума Ответить с цитированием
Старый 03.07.2012, 15:21   #2
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

Так попроще должно быть:
Код:
=ИНДЕКС(A1:A3;МАКС(ЕСЛИ(B1:C3=E1;СТРОКА(1:3))))
1. B1:C3=E1 формирует виртуальный массив из ИСТИНА и ЛОЖЬ
2. ЕСЛИ(B1:C3=E1;СТРОКА(1:3)) в этот массив подставляет номер строки с ИСТИНА
3. МАКС(ЕСЛИ(B1:C3=E1;СТРОКА(1:3))) возвращает этот номер (т.к. он у нас один, то вместо МАКС можно использовать и МИН или СУММ - без разницы)
4. ИНДЕКС(A1:A3;МАКС(ЕСЛИ(B1:C3=E1;СТРОКА(1:3)))) возвращает значение из указанной строки выбранного диапазона

Цитата:
никак не могу применить к своему случаю
А в чём состоит Ваш случай?

ЗЫ Можно и так:
Код:
=ИНДЕКС(A1:A3;СУММ((B1:C3=E1)*{1:2:3}))
и так:
Код:
=ИНДЕКС(A1:A3;СУММПРОИЗВ((B1:C3=E1)*{1:2:3}))
В последнем случае ввод Ctrl+Shift+Enter не нужен
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Старый 03.07.2012, 15:50   #3
Acro
Пользователь
 
Регистрация: 21.10.2008
Сообщений: 39
По умолчанию

Спасибо за пошаговое обьяснение, использовал

=ИНДЕКС(A1:A3;СУММПРОИЗВ((B1:C3=E1) *{1:2:3}))

При дублировании значения в таблице происходит возможный упомянутый затык, что впрочем не сильно критично.

Полученный результат во вложении
Вложения
Тип файла: zip example2.zip (5.0 Кб, 10 просмотров)
Acro вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQL поиск по нескольким столбцам в Delphi vladtiko Помощь студентам 2 30.06.2011 22:21
Поиск Locate по нескольким полям athleet Общие вопросы Delphi 5 22.05.2011 15:34
Поиск экстремального элемента, удовлетворяющего нескольким условиям. [Паскаль] alexe132 Помощь студентам 1 05.12.2010 11:38
Формула: "Поиск значения по нескольким параметрам" Илья Николаевич Microsoft Office Excel 4 19.07.2010 19:39
Поиск по нескольким БД с выводом инфы в одной форме Алина_Алина Microsoft Office Excel 11 19.05.2008 20:07