Excel-MATCH 函数对粘贴的值不起作用

Excel-MATCH 函数对粘贴的值不起作用

我试图在另一列中找到一列中的值(文本)的位置。我运行了该函数:=MATCH(B1, A:A, 0)并得到了#N/A结果。但这个结果是不正确的……因为我清楚地看到了 A 列中 B1 的值。

我认为问题可能出在我将单元格粘贴到工作表中。所以我进行了一次测试,手动输入单元格中的值,然后运行该函数。结果:成功了……但我当然不想手动输入所有数据。

所以我的问题是...我该如何解决这个问题?我尝试过以各种格式粘贴值,但仍然没有成功。也许这不是问题?我不知道。如果能提出建议,我将不胜感激。

答案1

如果您匹配数字,请尝试使用该VALUE函数。

例如,如果单元格为文本格式,且包含 100 个数字,或者包含 100 个数字且前导或尾随空格(可能有多个,我没有尝试),则=VALUE(A1)返回(数字)100A1

如上所述,当格式化停止匹配或查找时,它确实很有用。

Excel 2007 帮助中对此的说明如下:

将代表数字的文本字符串转换为数字

文本可以是 Microsoft Excel 识别的任意常数数字、日期或时间格式。如果文本不是这些格式之一,VALUE 将返回错误值 #VALUE!。

答案2

根据我的经验,这种情况发生是因为您尝试匹配具有两种不同格式的单元格。例如,当您将数据复制并粘贴到 A 列时,它可能被粘贴为文本格式。如果 B1 是数字,而 A:A 是文本单元格,即使内容相同,且没有多余的空格或其他不可见字符,则匹配仍会返回#N/A

您可能知道如何更改单元格格式,但为了完整起见,我将对其进行描述。在功能区的“主页”选项卡中,单击此处:

带有手绘圆圈的“主页”选项卡

并改变每组单元格的格式,使它们匹配。

答案3

我刚刚针对这个问题采取的解决方案相当低俗,但它确实有效:

只需在另一列中将您的“数字”(Excel 仍然认为是文本)乘以 1(或除以 1,或加 0,或其他)。

现在 Excel 知道它们是数字。

我在这上面浪费了太多时间...

答案4

我遇到了这个问题。在我的情况下,波浪符号 (~) 破坏了 MATCH 函数,即使粘贴了值也是如此。其他特殊字符也可能造成这种情况。

相关内容