Excel MATCH() 函数 - 零匹配空白

Excel MATCH() function - Zero matches blank

我正在使用 MATCH() 函数来决定 INDEX() 函数的行号。我使用完全匹配 (0) 作为参数。这在大多数情况下都可以正常工作,但是:

为什么当一个单元格为 blank/empty 而另一个单元格包含零时创建匹配项?

我可能会做一些忽略零值的 IF 语句来抵消这种影响。但这看起来很傻,我也想了解这个机制背后的底层逻辑,以备将来使用。

编辑: 应要求,这里是我讲的功能...

=IFERROR(INDEX('RMED Visual Inspection'!$A:$B; MATCH(A2; 'RMED Visual Inspection'!$A:$A; 0); 2); 0)

lookup_value 为空。 lookup_array 由 0 及以上的数字组成。 MATCH() 将 return 第一行的数字 lookup_array 即 0。

In Microsoft Excel, when you use a formula that tests for a zero value, you may see unexpected results if the cell is blank. Microsoft Excel interprets a blank cell as zero, and not as empty or blank. Therefore, any cells that are blank are evaluated as zero in the function.

这就是您得到第一行数字为 0 的原因。

检查 this link 了解更多信息。

我注意到的另一件事是,您正在尝试在 Match 函数中使用 A2 查找您已经知道的行号.

如果您真的想使用您的公式,我的建议是将所有空白单元格更改为 0 或某个值。你可以用很多不同的方式来做。

一种方法是使用 Go To Special 函数用 0 或其他特定值填充空白单元格,另一种方法是使用小宏来完成此操作。

您可以在 this 页面上获得更多信息。