=IF(
A4=INDEX(Sheet1!$B:$B, MATCH(A4, Sheet1!$C:$C, 0)), 
INDEX(Sheet1!$B:$B, MATCH(A4, Sheet1!$C:$C,0)),

    IF(A4=INDEX(Source1!$A:$A, MATCH(A4, Source1!$B:$B, 0)), 
    INDEX(Source1!$A:$A, MATCH(A4, Source1!$B:$B, 0)),

        IF(A4=INDEX(Source2!$A:$A, MATCH(A4, Source2!$B:$B, 0)), 
        INDEX(Source2!$A:$A, MATCH(A4, Source2!$B:$B, 0)),

            IF(A4=INDEX(Source3!$A:$A, MATCH(A4, Source3!$B:$B, 0)), 
            INDEX(Source3!$A:$A, MATCH(A4, Source3!$B:$B, 0)))
)))

Здравствуйте все! Здесь есть 4 разные таблицы, и я пытаюсь найти значение в ячейке A4, чтобы найти все 4 исходные таблицы, чтобы получить правильные значения.

Когда я пытаюсь это сделать, это работает хорошо, как золото:

INDEX(Sheet1!$B:$B, MATCH(A4, Sheet1!$C:$C,0))

Но это не работает как с простым оператором if, как показано ниже, так и с вложенными операторами if. И понятия не имею, где я поступил неправильно.

=IF(INDEX(Sheet1!$B:$B, MATCH(A4, Sheet1!$C:$C, 0))=A4,
    INDEX(Sheet1!$B:$B, MATCH(A4, Sheet1!$C:$C, 0)),
    "NO")

При этом каждая ячейка возвращает "НЕТ", что является ложным значением. Не могли бы вы взглянуть на это и дать мне знать, что я сделал не так? Ваше внимание и время высоко ценится.

1 ответ1

0

если A4 не найден, он вернет ошибку, и вы не можете приравнять ее к ошибке, не создав собственную ошибку.

Используйте это вместо:

=IF(
ISNUMBER(MATCH(A4, Sheet1!$C:$C, 0)), 
INDEX(Sheet1!$B:$B, MATCH(A4, Sheet1!$C:$C,0)),

    IF(ISNUMBER(MATCH(A4, Source1!$B:$B, 0)), 
    INDEX(Source1!$A:$A, MATCH(A4, Source1!$B:$B, 0)),

        IF(ISNUMBER(MATCH(A4, Source2!$B:$B, 0)), 
        INDEX(Source2!$A:$A, MATCH(A4, Source2!$B:$B, 0)),

            IF(ISNUMBER(MATCH(A4, Source3!$B:$B, 0)), 
            INDEX(Source3!$A:$A, MATCH(A4, Source3!$B:$B, 0)))
)))

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .