missing concatenated text values are showing up as "0" in result

I have cells that are concatenated text. Sometimes a “0” will appear in the result for missing values (even when there is no 0 in any of the source cells). I have tried changing the format to Text, but that causes other problems. How do I prevent it from inserting non-existent 0’s?

Please share a sample file for test.