Страницы: 1
RSS
Вернуть данные из общей таблицы по двум критериям
 
Приветствую всех.
Прошу подсказать как реализовать функционал ВПР (можно и не ВПР), где искомые данные и просматриваемые данные состоят из значений нескольких ячеек - т.е. не поиск адреса, в диапазоне готовых адресов, а поиск склейки "улица"+"дом" (в разных ячейках) в просматриваемом диапазоне, где улица и дом тоже указаны в разных ячейках. Пример прилагаю.
 
=СУММПРОИЗВ(($J$14:$J$20=A3)*($K$14:$K$20=B3)*$L$14:$L$20)

P.S. Возможная тема: Подтянуть данные из общей таблицы по двум критериям
Изменено: New - 21.04.2021 16:08:23
 
для ВПР в "Просмотриваемых данных" перед таблицей добавьте столбец с формулой =J14&K14 и соответственно откорректируйте формулу ВПР.
 
Ого, благодарю, неожиданное решение.
 
Тема 1: Подтянуть данные из общей таблицы по двум критериям
Тема 2: Подтянуть данные из общей таблицы согласно названию улицы и номеру дома
Изменено: New - 21.04.2021 16:11:16
 
Ребята, предложенное пользователем New решение несомненно рабочее (отдельная благодарность), только есть проблема - работает только если возвращаемые данные являются числами, если текст - то увы. Это полностью мой косяк, заполнил файл примера для удобства числами, извиняюсь. Есть идеи как реализовать вышеописанную задачу, если возвращаемые значения являются текстом?

P.S. И да, вариант, предложенный пользователем V с отдельным столбцом в просматриваемом диапазоне, где склеивались бы улица и дом, к сожалению, не подходит. Требуется именно решение формулой без изменения структуры просматриваемого диапазона.
 
Цитата
Ильдар написал:
решение формулой без изменения структуры просматриваемого диапазона
=INDEX($L$14:$L$20;MATCH(A3&B3;$J$14:$J$20&$K$14:$K$20;0))
массивная
 
на русском так
=ИНДЕКС($L$14:$L$20;ПОИСКПОЗ(A3&B3;$J$14:$J$20&$K$14:$K$20;0))

вводить тремя клавишами Ctrl+Shift+Enter, а не просто Enter как у обычной формулы
 
Возможно, я что-то делаю не так, но у меня по всему массиву возвращается значение, актуальное для первой строки.
 
Ильдар, смотрите в файле
 
Формула массива:
=INDEX($M$14:$M$20;MATCH(1;($K$14:$K$20=A3)*($L$14:$L$20=B3);0))
Обычная:
=INDEX($M$14:$M$20;MATCH(1;INDEX(($K$14:$K$20=A3)*($L$14:$L$20=B3);0);0))
И еще:
=LOOKUP(2;1/(($K$14:$K$20=A3)*($L$14:$L$20=B3));$M$14:$M$20)
Изменено: memo - 22.04.2021 10:12:20
 
Огромное спасибо всем откликнувшимся.
Наиболее подходящие для моих целей варианты предложены пользователем memo:
Цитата
memo написал:
Обычная:=INDEX($M$14:$M$20;MATCH(1;INDEX(($K$14:$K$20=A3)*($L$14:$L$20=B3);0);0))И еще:=LOOKUP(2;1/(($K$14:$K$20=A3)*($L$14:$L$20=B3));$M$14:$M$20)
Работает и с числами и с текстом, нет проблем с формулами массива.
Кстати, с формулами массива так и не понял в чем проблема.
Выделяю диапазон, где нужны формулы, вставляю в строке формул формулу
Код
=ИНДЕКС($L$14:$L$20;ПОИСКПОЗ(A3&B3;$J$14:$J$20&$K$14:$K$20;0))
нажимаю Ctrl+Shift+Enter - по всему массиву возвращается значение, актуальное только для первой строки (что, очевидно объясняется тем, что эта часть "A3&B3" одинакова для всего массива, но почему одинакова - неясно, ведь строки не заданы жестко и должны меняться в формуле для каждой следующей строки).
 
Формулы массива вводятся или в ячейку, или в диапазон (зависит от задачи и формулы). В Вашем случае нужно ввести формулу в одну ячейку и копировать на диапазон
Страницы: 1
Наверх