( lguru | 2010. 05. 28., p – 14:34 )

Elfelejtettem írni, hogy van még egy triviális megoldási lehetőség (lehet, hogy lehetne még egyszerűsíteni, csak gyorsan összedobtam, zárójelek egy része is redundáns de átláthatóbb így):

IF(ISERROR(SEARCH(".";C8));C8;RIGHT(C8;(LEN(C8))-(SEARCH("@";(SUBSTITUTE(C8;".";"@";(LEN(C8)-LEN(SUBSTITUTE(C8;".";"")))))))))

magyarul jobbról balra haladva:
LEN(SUBSTITUTE(C8;".";"") => cellahossz pontok nélkül

(LEN(C8)-LEN(SUBSTITUTE(C8;".";""))) => (cella hossza - pontnélküli hossz) adja meg a pontok számát

SEARCH("@";...) => kicseréljük @-ra a legutolsó pontot (mivel a pontok száma alapján a legutolsó pontra tudunk pozicionálni search utolsó paramétere segítségével)

RIGHT(C8;(LEN(C8))-(SEARCH("@";....)) => jobbról vágjuk ki és jelenítsük meg a mező szükséges részét, azaz a (teljes hossz - utolsó pont pozicíója balról számolva) pozicíóig tartó sztringdarabot