a) depends on which version of Excel you are using.

Any version:
Formula: copy to clipboard
=IF(ISNA(... your formula ...), "", ... your formula ...)


For 2007+:
Formula: copy to clipboard
=IFERROR(... your formula ..., "")


b) I think you'd need a VBA worksheet change event to monitor the cells and convert to uppercase.


Regards, TMS