Q:

Excel if equal and match are not return the same thing

I have put two date time values in cells A1 and B1. The date time is precisely 41703.0416666667. One is ouput from an SQL database the other manually written.
The result of =if(A1=B1,1,0) is 1.
The result of =MATCH(B1,A1,0) is #N/A.
Does anyone have any theories as to why this may be happening?

A:

Probably an issue with converting decimal to binary. See related answer:
Simple HLOOKUP Failing with Excel 2010
This appears to be a limitation of storing floating point numbers in binary - as described here: http://support.microsoft.com/kb/214118

Many combinations of arithmetic operations on floating-point numbers
  in Microsoft Excel and Microsoft Works may produce results that appear
  to be incorrect by very small amounts. For example, the equation 
  =1*(.5-.4-.1)  may be evaluated to the quantity (-2.78E-17), or -0.0000000000000000278 instead of 0.

This problem is not unique to excel either but rather a result of:

IEEE 754 specifies that numbers be stored in binary format to reduce
  storage requirements and allow the built-in binary arithmetic
  instructions that are available on all microprocessors to process the
  data in a relatively rapid fashion. However, some numbers that are
  simple, nonrepeating decimal numbers are converted into repeating
  binary numbers that cannot be stored with perfect accuracy.

