Одиночный индекс+Match работает, но в операторе if

Одиночный индекс+Match работает, но в операторе if
=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

если 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)))
)))

Связанный контент