#excel #indexing #match #excel-indirect
Вопрос:
В настоящее время я использую приведенную ниже формулу, которая возвращает ошибку.
То, что я пытаюсь сделать, — это выбрать весь столбец в таблице цен с помощью косвенной функции, а затем вернуть значение из этого столбца на основе 2 критериев. Я не уверен, где я ошибаюсь. Любая помощь была бы очень признательна.
=ИНДЕКС(КОСВЕННЫЙ(«Цены!J2:J2»),СООТВЕТСТВИЕ(F5,Цены!B:B,0),СООТВЕТСТВИЕ(D5,Цены!А:А,0))
- Цены!J2:J2 В ячейке J2 у меня есть столбец, на который я хочу ссылаться в таблице цен
- СОВПАДЕНИЕ(F5,Цены!B:B,0),СОВПАДЕНИЕ(D5,Цены!A:A,0) Я хочу получить цену из столбца, указанного выше, где совпадают 2 условия.
Приведенный ниже код работает для меня, но он недостаточно надежен. Я бы хотел, чтобы КОСВЕННАЯ работа
=INDEX(Prices!BO:BO,MATCH(1,(D2=Prices!A:A)*(F2=Prices!$B:$B),0))
Смотрите ошибку ниже:
Спасибо!
Ответ №1:
Похоже, вы пытаетесь найти значение из F2 в столбце B, а затем вернуть соответствующую запись в столбце J. Если это так, то это правильный синтаксис:
=INDEX(Prices!J:J,MATCH(F2,Prices!B:B,0),1)
Это также работает, если вы добавляете КОСВЕННЫЕ:
=INDEX(INDIRECT("Prices!J:J"),MATCH(F2,Prices!B:B,0),1)
Этот веб-сайт является хорошим справочником для использования индекса и соответствия:
https://exceljet.net/index-and-match
Изменить: еще немного актуальной информации из чата, которая помогла спрашивающему найти свое решение:
Чтобы сделать столбец «J» в приведенной выше формуле регулируемым из ячейки F2, объедините адрес следующим образом:
INDIRECT("Prices!"amp;J2amp;":"amp;J2)
Итак, если вы поместите «C» в ячейку J2, то INDIRECT будет ссылаться на «Цены!C:C», а затем ИНДЕКС будет искать ваши данные из столбца C.
Что касается синтаксиса СООТВЕТСТВИЯ, не делайте этого:
=INDEX(INDIRECT("Prices!"amp;J2amp;":"amp;J2),MATCH(1,(F3=Prices!B:B)*(D3=Prices!$A:$A),0))
Вместо этого объедините F3 и D3, объедините данные столбцов A и B в столбец A, а затем выполните СОПОСТАВЛЕНИЕ, что-то вроде этого:
=INDEX(INDIRECT("Prices!"amp;J2amp;":"amp;J2),MATCH(D3amp;F3,Prices!A:A,0))
Комментарии:
1. Привет @Dharman, Спасибо за ответ, к сожалению, не повезло. Формула, которую я в настоящее время имею, =ИНДЕКС(КОСВЕННЫЙ(«Цены!J2:J2»), СООТВЕТСТВУЕТ(F2, Цены!B:B)*(D5,Цены! А:А),0). Это не работает для меня, и я не знаю, почему. Я пытаюсь сделать следующее: у меня есть имя столбца, например «M», введенное в ячейку J2. Я хочу косвенно сослаться на этот столбец, который находится на другом листе, а затем найти значение, основанное на 2 критериях. Любая помощь была бы очень признательна. Я застрял на этом вопросе весь день.
2. У меня есть эта формула,которая работает =ИНДЕКС(Цены!G:G, СООТВЕТСТВУЕТ(1, (F3=Цены!B:B)*(D3=Цены!$A:$A),0)). Но когда я добавлю косвенное, это не сработает
3. Привет @bI33p bI00p, К сожалению, это тоже не сработало. Я получаю ошибку значения.
4. Необходим ли косвенный вопрос о том, можем ли мы просто взять строку из J2?
5. Нет, ввод «G» в ячейку J2 не сработает. Ошибка, похоже, во втором совпадении. Я опубликовал фотографию в исходном вопросе об ошибке.