Fun problem at work today. Someone was importing some data, and the value 2d4 kept evaluating as 1 using the ISNUMERIC function. The reason why this evaluates true, is because 2d4 is technically a number using scientific notation. The ‘d’ stands for double-precision. 2e4 would also return 1 (exponential value), as would –12, +12, or $12.

In order to correctly check to see if the characters are numeric (in this case, the first 3 characters of a string) you could use this: