Excel MATCH 函数部分工作

Excel MATCH function partially working

我正在使用 Excel MATCH 函数,如果 lookup_value 是一个未修改的数字,它会起作用,但如果 lookup_value 它并不总是起作用是一个计算出来的数字。

更具体地说:

My spreadsheet 可以询问用户是否愿意使用推荐的粒径值。如果她选择“No”,她可以选择输入自己的值。她可以输入英制单位或公制单位的值。有一个用于英制输入的单元格和一个用于公制输入的单元格。 (她可以选择填写哪个)。

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

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

其中S24保存是否使用推荐值的决定,U25保存公制输入,S25保存英制输入,S23保存推荐值。转换是从毫米到英寸。

最终的粒子大小然后被另一个sheet调用并在MATCH函数中使用。 metric 输入单元格中的某些输入值(来自下拉菜单)会导致 MATCH 函数出现 #N/A 错误。

我试过删除多余的空格,将所有涉及的单元格格式化为小数点后 3 位的数字,并将公制到英制的转换直接放入 lookup_value 单元格(例如,而不是拉出最终粒子大小,我在 lookup_value 单元格中输入了以下内容,但在 lookup_array)

中仍然找不到 0.375
=9.525/25.4

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

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

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

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

为了获得更好的结果,您可能希望应用舍入而不是格式设置。

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