=If (Trunc(A1)=A1,Integer,Non-Integer)
or
=If (Int(A1)=A1,Integer,Non-Integer)
I wouldn't be surprised if the "math" and the floating point issues have some of these fail.
In VBA, you have INT function.
The other functions are available through WorksheetFunction