Страницы: 1
RSS
Поиск по нескольким критериям, Поиск позиции по нескольким критериям
 
Добрый день.
Подскажите, пожалуйста, как можно заполнить таблицу данными на листе "Общее" (количество) из листа "Все". Пробовала через Индекс и ПоискПоз, одну ячейку заполняет, а остальные либо Н/Д, либо не корректные данные переносит. Застряла на этом при заполнении таблицы и как дальше.
 
Добрый день. =ЕСЛИОШИБКА(ИНДЕКС(Все!$C$2:$C$19;ПОИСКПОЗ(Общее!$A3&Общее!D$2;Все!$A$2:$A$19&Все!$B$2:$B$19;0));0)
 

Добрый день.

Если в Вашей версии Excel есть функция ФИЛЬТР(), то можно использовать вот такую формулу:

Код
=ФИЛЬТР(Все!$C$2:$C$19;(Все!$B$2:$B$19=Общее!D$2)*(Все!$A$2:$A$19=Общее!$A3);"-")

Формулу вставьте в ячейку D3 и скопируйте в остальные ячейки таблицы.

Цитата

Принцип работы:

  • ФИЛЬТР(Все!$C$2:$C$19; ... ) — возвращает массив значений из диапазона C2:C19 (то есть значения из столбца C).

  • (Все!$B$2:$B$19=Общее!D$2)*(Все!$A$2:$A$19=Общее!$A3) — это два условия.

  • Первое условие: (Все!$B$2:$B$19=Общее!D$2) — значения ячеек B2:B19 должны быть равны значению ячейки D2.

  • Знак умножения (*) означает логическое «И» — оба условия должны выполняться одновременно.

  • Второе условие: (Все!$A$2:$A$19=Общее!$A3) — значения ячеек A2:A19 должны быть равны значению ячейки A3.

То же самое через ИНДЕКС + ПОИСКПОЗ

Код
=ЕСЛИОШИБКА(ИНДЕКС(Все!$C$2:$C$19; ПОИСКПОЗ(1; (Все!$B$2:$B$19=Общее!D$2) * (Все!$A$2:$A$19=Общее!$A3); 0)); "-")

Ошибка #Н/Д (не N#D) возникает, если значение не найдено. Для обработки таких случаев используется функция ЕСЛИОШИБКА.

Сдвиг данных при копировании может быть вызван «плавающими» диапазонами. Чтобы этого избежать, используются абсолютные ссылки с символом $.

Цитата

О ссылках (знак $):

  • Знак $ строго закрепляет диапазон. Устанавливается нажатием клавиши F4.

  • Все!$C$2:$C$19 — два знака $ (и перед буквой, и перед цифрой) означают, что при копировании диапазон остаётся неизменным (абсолютная ссылка).

  • Общее!D$2 — один знак $ перед цифрой означает, что при копировании ссылка может меняться по горизонтали (вправо-влево), но не по вертикали (вверх-вниз) — это смешанная ссылка.

  • Общее!$A3 — один знак $ перед буквой означает, что при копировании ссылка может меняться по вертикали (вверх-вниз), но не по горизонтали (вправо-влево) — тоже смешанная ссылка.

 
Ксения Ksenia, ?
=СУММЕСЛИМН(Все!$C:$C;Все!$A:$A;$A3;Все!$B:$B;D$2)
 
Добрый день. Может быть так? (Для C3)
Код
=СУММЕСЛИ(Все!A2:A100;A3;Все!C2:C100)
 
если хочется именно ИНДЕКС и ПОИСКПОЗ то можно так
в D3 формула массива, потом протянуть
=ИНДЕКС(Все!$C$2:$C$19;ПОИСКПОЗ(D$2;ЕСЛИ(Все!$A$2:$A$19=$A3;Все!$B$2:$B$19;0);0);)
вместо отсутствующих данных будут H/Д, Если НД не хочется видеть, то можно обыграть варант выдачи НД и замены его на другое (ноль или пусто)
смайлик в конце формулы подставляет система, на самом деле это точка с запятой и скобка (кстати, как от такой ситуации уйти, чтобы смайлик не подставлялся?)
Изменено: ВовавВова - 17.08.2026 19:11:06
познакомился с Excel
 
Цитата
ВовавВова написал:
кстати, как от такой ситуации уйти, чтобы смайлик не подставлялся?)
Можно так:
Код
=ИНДЕКС(Все!$C$2:$C$19;ПОИСКПОЗ(D$2;ЕСЛИ(Все!$A$2:$A$19=$A3;Все!$B$2:$B$19;0);0);)
 
Цитата
написал:
Можно так:
Спасибо
А вот как это сделать руками, как таким образом вставить ?
познакомился с Excel
 
Код
=ИНДЕКС(Все!$C$2:$C$19;ПОИСКПОЗ(D$2;ЕСЛИ(Все!$A$2:$A$19=$A3;Все!$B$2:$B$19;0);0);)
Изменено: ВовавВова - 17.08.2026 21:51:01
познакомился с Excel
Страницы: 1
Читают тему
Наверх