匹配返回#N/A

匹配返回#N/A

我在儲存格 G5 中有一個值:

I~W478i~100

以及 F31:F43 中的陣列:

I~W478i~100
II~W707a~79
I~W621c~97.5
II~W693a~81.5
I~W452n~80
I~W693a~71.5
II~W707a~64
I~W478i~75
II~W724a~100
I~W707a~79
I~W693a~91.5
I~W587a~69
III~W724a~75

我是MATCH公式來決定數組中值的位置:

=MATCH(G5,F31:F43,0)

這將返回#N/A。

我相信F31中的值應該與G5中的值相符。為了仔細檢查,我創建了另一個公式:

=IF(G5=F31,TRUE,FALSE)

回傳 TRUE。然而 MATCH 函數仍然傳回#N/A。我已經檢查了值和數組,兩者都是資料類型“常規”。

導致此問題的可能原因有哪些?

答案1

問題在於“~”字元在MATCH函數的第一個參數中使用時是一個特殊字元。用於指示“~”後面的字元不是通配符(參見文件)。如果希望第一個參數包含“~”字符,則需要使用兩個“~”字符。

因此,如果您將 G5 中的值從 更改為I~W478i~100I~~W478i~~100您的MATCH函數將返回 1 而不是 #N/A。

正如 Scott Craner(感謝 Scott)在對該問題的評論中指出的那樣,您也可以保留 G5 不變,並使用SUBSTITUTE插入額外的“~”字符作為公式的一部分。

=MATCH(SUBSTITUTE(G5,"~","~~"),F31:F43,0)

請注意,如果 F31:F43 中的值可能還包含"*""?"字符,您還需要將 every 更改為"*""~*"every "?"to "~?"

相關內容