你好,首先,这是我的代码,它返回错误
=INDEX(Steel_table!A3:A151,LOOKUP(10^10,MATCH(H7,Steel_table!C3:C151,{1,0})+{1,0}))我是基于以下线程的代码:Use INDEX MATCH to find greater than/equal to value
这是我有两张纸的场景,即应力分析和钢表。
我想要比较的值位于应力分析表单元H7中,我想将它与钢表从C3到C151的单元格值进行比较。
请帮助我,因为它总是返回一个#N/A错误
应力分析表

钢板

非常感谢
发布于 2016-04-30 12:37:34
必须考虑使用第三个参数来匹配函数,这取决于查找范围是否排序。
唯一不需要考虑范围排序的时间是在使用0-精确匹配时。但是精确匹配并不是你所需要的,因为你是根据一个前缀值表查找计算结果,而这些值不太可能完全匹配.
因此,为了使用1的第三个参数,查找范围应按升序排序。在您的示例中,查找范围的第二个值大于您的查找值,第一个,因此Excel快捷方式到N/A,假设没有更小的值将被进一步找到。
相反的逻辑对使用-1是正确的。
您可以简单地使用查找值和范围的差异来获得最小的值。所以我们使用了MIN函数。但是,您只需要正差,因此需要将所有负数转换为大得离谱的数字(例如10^10),这样它们就不会被用作潜在的最小值:
INDEX(Steel_table!$A$3:$A$151, MATCH(MIN(IF(Steel_table!C3:C151-H7>=0, Steel_table!C3:C151-H7, 10^10)), Steel_table!C3:C151-H7,0))
发布于 2016-04-30 11:16:03
这将给出在Steel_table!C3:C 151中最小的值,该值等于或大于cel H7中的值:
=MIN(IF((Steel_table!C3:C151)>=H7,(Steel_table!C3:C151))) 这是一个数组公式,所以请用Control Enter确认.产量将为1451.61。当没有相等或更大的值时,它将返回0。
https://stackoverflow.com/questions/36952482
复制相似问题