單索引+匹配有效,但在 if 語句中

單索引+匹配有效,但在 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")

這樣每個單元格都會回傳“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)))
)))

相關內容