Hetkel ei ole leidnud muud võimalust kui teha nii mitu veergu kui on ebasoovitavaid sümboleid ja siis valemiks on =SUBSTITUTE(B3;"õ";"o") - muidugi see lahter B3 on siin juhuslik. See valem asendab siis kus iganes esineb "õ" tähte "o"-ga. Iga järgnev veerg filtreerib ühe ebasoovitava sümboli välja.
Näiteks on selline ülesanne, et on inimeste nimed ja vaja neist tekitada kasutajatunnused kus ei ole tühikuid/sidekriipse/alakriipse/täpitähti/vms, on väiketähtedega ja ühes lahtris on nii ees- kui perenimi, tühik vahel:
=CLEAN(LOWER(REPLACE(B3;SEARCH(" ";B3);1;"")))
Paraku see CLEAN ei puhastanud täpitähtedest, tühikutest, side/alakriipsudest vms.
Proovisin ka regulaaravaldisi:
Kood: Vali kõik
=SEARCH("[õ{1,2}ä{1,2}ö{1,2}ü{1,2}ž{1,2}š{1,2}]";B40)
=SEARCH("[õ|ä|ö|ü|ž|š]";B40)
ja ka:
=REPLACE(B40;SEARCH("[õ{1,2}|ä{1,2}|ö{1,2}|ü{1,2}|ž{1,2}|š{1,2}]";B40);1;"x")
=REPLACE(B40;SEARCH("[õ|ä|ö|ü|ž|š]";B40);1;"x")
Ideaalis võiks toimida selline valem:
Kood: Vali kõik
=IF(SEARCH("õ";B3)>0;REPLACE(B3;SEARCH("õ";B3);1;"o");IF(SEARCH("ä";B3)>0;REPLACE(B3;SEARCH("ä";B3);1;"a");IF(SEARCH("ö";B3)>0;REPLACE(B3;SEARCH("ö";B3);1;"o");IF(SEARCH("ü";B3)>0;REPLACE(B3;SEARCH("ü";B3);1;"y");IF(SEARCH("ž";B3)>0;REPLACE(B3;SEARCH("ž";B3);1;"zh");IF(SEARCH("š";B3)>0;REPLACE(B3;SEARCH("š";B3);1;"sh");"B3"))))))
Probleem tekib selles, et niipea kui tegemist on näiteks mitme sõnaga või kui täpitähti on mitu sõnas või ka mitmes sõnas siis asi ei toimi ja annab ka veateateid. Tuvastab vaid esimese täpitähe ent teisi enam mitte.
Proovisin ka leida mingit makrot aga seni ei ole midagi asjalikku leidnud.
