2016-04-30 145 views
0

你好首先这更大的是我的代码返回错误Excel的折射率匹配等于或大于值误差

=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张,即应力分析和钢表

我想比较的值位于应力分析表格单元格H7中,我想将其与钢材从C3的单元格值到C151的表格表。

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

应力分析表

enter image description here

钢表板

enter image description here

感谢

回答

0

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

无需考虑范围排序的唯一时间是使用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))

+0

仍然不起作用,先生,我已经在这里上传了试用文件,希望您能给我一些意见来帮助我修复错误。谢谢 https://drive.google.com/open?id=0ByBx0gzVtGKJY1FiaXVKVldUb3c –

+0

它的工作原理。两件事,1)我的错误 - 你必须用Ctrl-Shift-Enter输入公式(我有时会忘记告诉人们用数组公式解决方案)2)请确保工作表名称与标签中所示的完全相同作为公式中的参考。公式引用中的“Steel_table”需要与工作表选项卡中的相同。它的工作原理 - 我做了这些事情后,你的工作簿上测试,我得到L4 x 3.5 x 1/4 – MacroMarc

+0

你好MacroMarc,谢谢你,我已经使用你的公式, 对不起,但我的错误是我总是取消提示,从哪里获取值,这就是为什么它总是返回一个错误。 再次感谢。问题解决了 –

0

这将使你在Steel_table C3的最小值:C151),其随后在CEL H7的值相等或更大:

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

这是一个数组公式,所以通过[按住Ctrl-Shift Enter]键。产量将是1451.61。当没有相等或更大的值时它将返回0。

+0

仍不起作用先生,我已经在这里上传试用文件希望你能给我一些评论,以帮助我解决这个错误。谢谢 https://drive.google.com/open?id=0ByBx0gzVtGKJY1FiaXVKVldUb3c –

+0

好的。我想我明白你想知道什么。查看我的更新回答 –

+0

@Maurice法国:如果这仍不起作用,请告诉我什么不起作用,以及您对该公式的期望值是多少。 –