Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VLOOKUP在数组中找不到值_Excel_Rounding_Vlookup_Ceil - Fatal编程技术网

Excel VLOOKUP在数组中找不到值

Excel VLOOKUP在数组中找不到值,excel,rounding,vlookup,ceil,Excel,Rounding,Vlookup,Ceil,我使用VLOOKUP函数在数组中查找一个值,但有些值给出了#N/a答案,尽管在数组中可用 为了对数字进行汇总,我使用了天花函数,但有趣的是在一些值中,它不起作用 我检查了值的类型是否为number 另外,我使用了ROUNDUP函数,但没有起作用 另外,我尝试了索引/匹配组合,但再次失败 在我在链接中给出的示例中,当我在15.00-15.20之间键入时,它会给出错误,但尝试其他值时,它会起作用 如何修复此问题?如果要找到与15.10的匹配项,您的天花板功能应该更精确 将其更改为天花(F4,0.0

我使用
VLOOKUP
函数在数组中查找一个值,但有些值给出了#N/a答案,尽管在数组中可用

为了对数字进行汇总,我使用了
天花
函数,但有趣的是在一些值中,它不起作用

我检查了值的类型是否为number

另外,我使用了
ROUNDUP
函数,但没有起作用

另外,我尝试了
索引
/
匹配
组合,但再次失败

在我在链接中给出的示例中,当我在15.00-15.20之间键入时,它会给出错误,但尝试其他值时,它会起作用


如何修复此问题?

如果要找到与15.10的匹配项,您的
天花板
功能应该更精确


将其更改为
天花(F4,0.01)
,它将起作用:)

这似乎是
VLOOKUP
的一个错误,并且
使用
天花
的返回值进行匹配。如果您使用:

=VLOOKUP(圆形(天花板(F4,0.1),1),A:B,2,假)

然后它就如预期的那样工作了

如果我们用VBA来观察这一点,我们就会看到发生了什么。真正应该受到责备的应该是
天花板
综述
。见示例:

Sub testCeilingAndRoundup()

 Dim v As Double, test As Boolean, diff As Double

 v = [CEILING(15.1,0.1)] '15.1
 test = (v = 15.1) 'FALSE
 diff = 15.1 - v '-1.776...E-15

 v = [ROUNDUP(15.25,1)] '15.3
 test = (v = 15.3) 'FALSE
 diff = 15.3 - v '1.776...E-15

End Sub

看起来您遇到了Excel错误

对数字15.1应用
上限
应返回完全相同的结果(15.1),无论显著性是否为0.1、0.01、0.001等

事实上,根据Excel:当被问及它们是否相等时,答案总是
TRUE

但是在查找表中查找这些数学上相等的数字会得到不同的结果

这一定是个bug

我建议您使用看起来没有bug的
ROUNDUP(F4,1)
,而不是
天花(F4,0.1)
。不,
ROUNDUP
也有缺陷。建议将
天花板
包装成一个
圆形
,这样似乎可以解决问题。您还可以转换为字符串并返回到数字:

VALUE(TEXT(ROUNDUP(F4,1),"0.0"))
所以你应该

=VLOOKUP(VALUE(TEXT(ROUNDUP(F4,1),"0.0")),A:B,2,FALSE)

如果输入为例如15.09,则此操作失败。很明显,我们的目的是将其四舍五入到15.10并返回95,但您的公式给出了一个错误。此外,我不明白为什么
天花(15.10,0.1)
天花(15.10,0.01)
的行为会有所不同(尽管测试表明它们确实如此)。原则上,两者都应返回完全相同的数字,即15.1。所以我不明白你为什么提出这个答案<代码>天花板(15.10,0.1)
天花板(15.10,0,01)
是相同的。没有区别。