Como uma solução rápida e feia, você poderia dizer
=IF(MONTH(DATE($B$2,$A$2,1+7*n)-WEEKDAY(DATE($B$2,$A$2,8-xday))) = $A$2,
DATE($B$2,$A$2,1+7*n)-WEEKDAY(DATE($B$2,$A$2,8-xday)),
"Non-existent date")
Ou seja, se a data calculada pela sua fórmula estiver no mês correto, use-a. Se você tiver transbordado na primeira semana do mês seguinte, não o use.