Isso parece estar funcionando:
=IF(SUMPRODUCT( -- ISNUMBER(SEARCH({"en_US@","~?~?_~?~?@"},A1)))>0,MID(A1, FIND("@",A1)+1, FIND(";", A1, FIND("@", A1)+1)-FIND("@",A1)-1),"NA")
A mágica está no SUMPRODUCT (- ISNUMBER (SEARCH ({...}, cell))) > 0 bit, discutido aqui
Para especificamente SEARCH () para um "?", você deve delimitar cada um com um til, já que a pesquisa trata "?" como um caractere curinga por padrão.
A única outra coisa que mudou do seu original é começar com um IF () para ver se ele encontra uma das seqüências de caracteres, então encontra o "@".