Wow, I think that you might have stumbled upon a major & significant bug in Airtable.
BLANK()
should never be evaluated the same as zero, because they are completely different values altogether.
No programming language should ever evaluate BLANK and ZERO as the same value, but that looks like exactly what Airtable is doing here. This is totally incorrect.
I tested out your formula in Airtable, and your formula resulted in the exact same problem for me.
Then, I typed up this test formula in Airtable:
IF(BLANK()=0,"Same","Different")
And that formula results in “Same”.
However, it should result in “Different”, because a blank value is NOT the same as a ZERO value.
On the other hand, THIS formula:
IF(BLANK()="","Same","Different")
is the ONLY formula which should result in “Same”. And it actually DOES result in “Same”.
(And if you replace my 0 and “” values with number fields, it’s still the exact same problem.)
So Airtable can’t tell the difference between BLANK and ZERO. This is a huge problem.
I think that you should report this bug ASAP to support@airtable.com. You can also tell them to check out this thread here, where you have uncovered this bug.