Excel 索引匹配等于或大于值错误

Excel index match equal or greater than value error

你好首先这是我的代码returns错误

=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

这是场景 我有 2 sheets,即应力分析和钢 table

我想比较的值位于应力分析 sheet 单元格 H7 中,我想将它与来自单元格值的钢 table sheet 进行比较C3 到 C151.

请帮助我,因为它总是返回 #N/A 错误

压力分析Sheet

钢铁Tablesheet

非常感谢

这将为您提供 Steel_table!C3:C151) 中等于或大于 cel H7 中的值的最小值:

=MIN(IF((Steel_table!C3:C151)>=H7,(Steel_table!C3:C151))) 

这是一个数组公式,所以用[Control-Shift-Enter]确认。输出将为 1451.61。当没有相等或更大的值时,它将 return0。

必须根据查找范围是否排序来考虑对 MATCH 函数使用第三个参数

唯一不需要考虑范围排序的情况是在使用 0 - 完全匹配时。但是完全匹配不是您所需要的,因为您正在查找计算结果针对 table 前缀值,这些前缀值不太可能完全匹配...

因此,为了使用 1 的第三个参数,查找范围应按升序排序。在您的情况下,查找范围的第二个值大于您的查找值,第一个也是如此,因此 Excel 到 N/A 的快捷方式,假设不会再往下找到更小的值。

相反的逻辑适用于使用 -1。

您可以简单地使用查找值与范围的差异来获得最小值。所以我们使用 MIN 函数。但是你只想要正差,所以你需要将所有负数转换成一个大得离谱的数字(比如 10^10),这样它们就不会被用作潜在的最小值:

INDEX(Steel_table!$A:$A1, MATCH(MIN(IF(Steel_table!C3:C151-H7>=0, Steel_table!C3:C151-H7, 10^10)), Steel_table!C3:C151-H7,0))