MATCH函数的奇怪行为

在Excel 2010,Windows 7中,我遇到了MATCH函数的下列奇怪行为。

A1 ,input0.81 ,并selectA1:B1 ,点击Fill-> Series ,在step value框中input0.01 ,那么我们在B10.82

A2中input0.82 ,在B2中input公式:

 =MATCH(A2,A1:B1,0) 

那么我们会有#N/A错误,整个事情看起来像这样:

 0.81 0.82 0.82 #N/A 

但是当我在B1手工input0.82时,一切正常,是一个bug还是这两个数字在某种意义上是不同的? 我试过了

 TYPE(B1)=TYPE(A2) and B1=A2 

他们都返回TRUE ,什么公式可以表明他们是不同的?

伟大的问题

这是一个精确的问题………..尽pipeB1似乎与A2完全匹配但事实并非如此。 有接近,非常接近; 如此接近甚至= A2 = B1将返回True。

但是他们还不够接近MATCH()来工作。

编辑#1:

要检查B1A2之间的差异,请运行此VBAmacros:

 Sub dural() Dim A2 As Range, B1 As Range Set A2 = Range("A2") Set B1 = Range("B1") v1 = A2.Value v2 = B1.Value MsgBox (v1 = v2) & vbCrLf & v1 - v2 End Sub 

你应该看到:

-1.11022302462516E-16

没有VBA, = DELTA()函数也会显示它们是不相等的。