Vlookup returns 0 when looked up cell is blank
could you provide that if the cell to be returned in a vlookup or hlookup formula is blank, then the value of the formula also resolves as blank  or have this as a choice, e.g. Vlookup(c1,A1:b5,2,false,"") where "" = the value to be returned if the looked up cell is empty. The default could remain 0 if this is omitted from the formula.
6 comments

Brian Hughes commented
Thanks for all the replies. The suggested solutions here make formulas very long indeed especially with a few nested if statements, e,g if lookup a is an error do 0 otherwise lookup a, if lookup b is an error do 0 otherwise lookup b and so on. My suggestion just makes them so much neater and easier.

A.C. WILSON commented
See also "Universal IF statement  to meet needs of IFNULL, IFBLANK, IFZERO etc.", posted Apr. 17, 2017. That would be a better, more general, solution to this issue.

A.C. Wilson commented
Actually, I disagree with myself  it's the name itself of the the function =IFERROR(,) that is [problematic. It might have been better named =IFNOTERRORR(,) or =UNLESSERRROR() .

A.C. Wilson commented
Could be done with a new function =IFNOTHING(vlookup(,,,),), that would work similarly to the existing =IFERROR(vlookup(,,,),) . Could also start a new IFZERO(,) function... (Unfortunately, as has been stated multiple times elsewhere, the =IFERROR(,) syntax is mediocre, so proliferating it into other new functions might not be a good idea)

Brian Hughes commented
Yes but so can most things. This idea would be much handier.

UweHa commented
Your problem can be settled with a quite uncomplicated workaround. I implement it by default in any of my lookups:
IF (VLOOKUP (...)="" ; "" ; VLOOKUP (...))