excel 2007+ =iferror(IF(B3>D3,"",D3-B3) ,"")
or
=if(iserror(IF(B3>D3,"",D3-B3),"",IF(B3>D3,"",D3-B3) )
[....]
Still will not work?
Exactly what does not work?! Ron gave you two things to try. You do
not tell us what you tried.
No matter. There really is no way either could "not work" (i.e.
avoid the #VALUE error) if you entered it correctly. You should copy-
and-paste from the Formula Bar into a follow-up posting to show us
exactly what you entered.
In any case, as Ron said, let's fix the #VALUE problem and avoid the
ISERROR or IFERROR kludge.
My guess: D3 contains text -- perhaps the null string (""), in which
case D3 __appears__ blank, but it is not empty.
Going back to your original formula, try:
=IF(OR(B3="",D3="",B3>D3),"",D3-B3)
Be sure to copy-and-paste this (and any) formula that we provide from
the posting into the Formula Bar.
That returns the null string ("") instead of D3 as your original
formula did if B3 is truly empty (no constant and no formula). If
that is your intention, we can fix that.