( lguru | 2010. 05. 27., cs – 17:05 )

Azóta még öregebb lett a kérdés:)
Bár az alapelv nem lenne rossz, de Zahynak igaza van a hibákkal kapcsolatban (pont azért nem működik a képleted, mert nem 0-t ad vissza a SEARCH, hanem hibakódot). Az if(feltétel; igaz ág; hamis ág) megoldással az a gond, hogy nem igazi hibakezelést valósít meg, pusztán elágazik kiértékeléstől függően. Emiatt a következő képlet már jobb lenne (de ez sem tökéletes, mert feltételezi hogy a hibakódot mindig a pont hiánya okozza, ami persze nem igaz, tehát ha jobbat akarsz, akkor még azt is figyelni kell, mi a hibakód):

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

Sőt, akár cifrázhatod regexp segítségével is például a keresést:

SEARCH("\.?([:digit:]+\,[:digit:]+|[:digit:]+)$";C8)