Excel MATCHfunction部分工作

我使用的是Excel MATCH函数,如果lookup_value是一个未修改的数字,它就可以工作,但是如果lookup_value是一个计算的数字,它并不总是有效。

更具体:

我的电子表格可以询问用户是否要使用推荐的粒度值。 如果她select“ No ”,她可以selectinput自己的价值。 她可以以英制单位或公制单位input数值。 英制input单元格和度量input单元格单元格。 (她可以select填写)。

因为所有的计算最终都必须以英制单位来完成,所以最终的粒度大小框会采用用户指定的值,并保持原来的样子(如果它是以英制input的话),或者将其转换回英制(如果input的是公制)。 它是这样使用这个等式的:

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

S24决定是否使用推荐值时, U25保持公制input, S25保持英制input, S23保持推荐值。 转换是从mm到in。

最后的颗粒大小然后被另一个表格调用,并在MATCH函数中使用。 度量input单元格中的某些input值(从下拉菜单中)会导致来自MATCH函数的MATCH #N/A错误。

我尝试删除多余的空格,格式化所有单元格与数字有3位小数,并把从公制到英制的转换直接到lookup_value单元格(例如,而不是拉最终的粒径,我在lookup_value单元格中input以下内容,但在lookup_array仍然找不到0.375)

 =9.525/25.4 

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

Match()函数有一个重要的参数:最后一个。 它是0或1.如果它是0,那么匹配将只find一个精确匹配。 在您的情况下,当您在不同系统之间转换数字时,结果数字可能不完全匹配。

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

格式化为特定的小数位数是不够的。 Match所寻找的数字必须是VALUE中的精确匹配,而不是外观。

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

这和我看到的数据样本一样多。 编辑你的问题,并包括一个文件(或公共共享网站上的文件的链接)。 然后我可以得到更具体的。