Ich hab mal ein wenig rumprobiert und bin auf folgendes gekommen:
=WENN(ANZAHL2(A2:B2)=2;B2;WENN(ISTLEER(B2);A2;B2))
Du machst eine Wenn-Funktion auf und lässt erst einmal mit ANZAHL2(A2:B2)=2 prüfen, ob beide Zellen gleichzeitig gefüllt sind. Ist dies der Fall, dann gibt B2 den Wert aus eben B2 aus. Falls nicht, dann erfolgt eine weitere Wenn-Funktion, die mit ISTLEER(B2) prüfen soll, ob die Zelle B2 leer ist. Sollte dies der Fall sein, dann spuckt Excel dir den Wert aus A2 aus, falls nicht, dann eben den Wert aus B2.
Sollte es auch einmal vorkommen, dass beide Zellen leer sind, und du möchtest, dass die Zelle D2 denn ebenfalls leer bleibt und keine 0 ausgibt, dann kannst du die Formel noch um eine weitere Abfrage erweitern:
=WENN(ANZAHL2(A2:B2)=0;"";WENN(ANZAHL2(A2:B2)=2;B2;WENN(ISTLEER(B2);A2;B2)))
Dann prüft die vorangestellte Wenn-Funktion zuerst mit ANZAHL2(A2:B2)=0, ob die entsprechenden Zellen gleichzeitig leer sind und gibt - sollte das der Fall sein - durch "" eine leere Zelle aus. Falls nicht, dann folgt die Formel von oben.
Zu beachten ist, dass ANZAHL2 nur auf Text überprüft. Sollte es sich bei den Werten um Zahlen handeln, dann musst du ANZAHL verwenden. Sollten es Text und Zahlenwerte gemischt sein, dann haben wir ein Problem 
Geht bestimmt wieder eleganter, aber besser kann ich es auch nicht^^
Edit: fuuuu, wie auf einmal drölftausend Leute dazwischengeschrieben haben 
Edit2: Das von sreasonRNMD ist eh besser. Das umgeht die Text-Zahlen-Problematik. Du könntest die ISTLEER-Abfrage am Ende noch umstellen, dann wäre sie noch kürzer:
=WENN(UND(A2="";B2="");"Text";WENN(ISTLEER(B2);A2;B2))