Excel MATCH功能部分工作

时间:2015-02-09 08:03:42

标签: excel excel-2013 excel-match

我正在使用Excel MATCH函数,如果lookup_value是未修改的数字,它就有效,但如果lookup_value是计算出的数字,它并不总是有效。

更具体一点:

我的电子表格可以询问用户是否要使用推荐的粒度值。如果她选择“No”,她可以选择输入自己的价值。她可以以英制单位或公制单位输入值。有一个用于英制输入的单元格和一个用于度量输入的单元格。 (她可以选择她填写的内容)。

因为所有的计算最终都必须以英制单位进行,所以最终的粒子大小框取用户指定的值,并保持原样(如果它作为英制输入),或将其转换回英制(如果是输入了公制)。它使用以下等式:

=IF(AND(S24="No",U25=""),S25,IF(AND(S24="No",U25<>""),U25/25.4,S23))

S24决定是否使用推荐值,U25保留指标输入,S25保留英制输入,S23保留推荐值值。转换是从mm到in。

然后,另一个工作表调用最终的粒度,并在MATCH函数中使用。 指标输入单元格中的某些输入值(来自下拉菜单)会导致#N/A函数出现MATCH错误。

我尝试删除多余的空格,将所涉及的所有单元格格式化为3位小数的数字,并将公制转换为英制直接转换为lookup_value单元格(例如,而不是拉动最终的粒度,我在lookup_value单元格中输入以下内容,但仍然无法在lookup_array中找到0.375

=9.525/25.4

有人知道为什么MATCH函数只适用于某些lookup_values,即使它们只是转换只需要将每个英制值乘以25.4然后将该值除以25.4?

1 个答案:

答案 0 :(得分:1)

Match()函数有一个重要参数:最后一个。它为0或1.如果为0,则匹配将仅找到完全匹配。在您的方案中,当您在不同系统之间转换数字时,结果数字可能不完全匹配。

您可能希望使用舍入或其他技术来确保Match()函数的第一个参数确实位于您输入Match函数的值列表中。

格式化为特定的小数位数不够好。匹配正在寻找的数字必须与VALUE完全匹配,而不是外观。

您可能希望应用舍入而不是格式化以获得更好的结果。

在没有看到数据样本的情况下,这就是我所能说的。编辑您的问题并包含一个文件(或指向公共共享网站上文件的链接)。然后我可以更具体。