A couple of additional options that might work for you:
- If you click 'Options' in the replace dialog, there is an option to 'Match entire cell contents'. Selecting this will replace a zero on its own but not in 1200, for example.
- Rather than replace the zeros, have you considered using AVERAGEIF?
=AVERAGEIF(A2:D168,"<>0")