Косвенная функция Excel с совпадением

#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 не сработает. Ошибка, похоже, во втором совпадении. Я опубликовал фотографию в исходном вопросе об ошибке.