首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Excel匹配功能部分工作

Excel匹配功能部分工作
EN

Stack Overflow用户
提问于 2015-02-09 08:03:41
回答 1查看 2.1K关注 0票数 0

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

更具体而言:

我的电子表格可以询问用户是否愿意使用推荐的粒子大小值。如果她选择"No",她可以选择输入自己的价值。她可以输入帝国单位或公制单位的价值。有一个单元格用于帝国输入,一个单元格用于度量输入。(她可以选择她所填写的)。

因为所有的计算最终都必须以帝国单位进行,所以最后的粒子大小框接受用户指定的值,或者保持它原来的样子(如果输入为帝国),或者将它转换回帝国(如果它是以公制输入的话)。它是这样做的,使用这个等式:

代码语言:javascript
复制
=IF(AND(S24="No",U25=""),S25,IF(AND(S24="No",U25<>""),U25/25.4,S23))

如果S24持有是否使用推荐值的决定,则U25保存度量输入,S25保存帝国输入,S23保存推荐值。转换是从mm到in。

最后的粒子大小然后由另一张纸调用,并在MATCH函数中使用。度量输入单元中的某些输入值(从下拉菜单中)导致来自MATCH函数的#N/A错误。

我尝试删除无关的空格,将所有涉及的单元格格式化为小数3位,并将从公制到帝国的转换直接放入lookup_value单元格(例如,我在lookup_value单元格中输入了以下命令,但在lookup_array中仍然找不到0.375 )。

代码语言:javascript
复制
=9.525/25.4

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-09 08:28:48

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

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

格式化为特定数量的小数是不够的。所寻找的数字匹配必须是值上的精确匹配,而不是外观上的匹配。

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28405245

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档