În urmă cu ceva vreme scriam un articol, #Excel – Eliminare diacritice din nume – Funcția SUBSTITUTE() dar niciodată nu mi-a plăcut această soluție de a folosi multe funcții Substitute().
Am încercat așadar să găsesc o alternativă cu Lambda() și Let() dar nici cu ajutorul lui ChatGPT nu am reușit să obțin ceva de valoare și replicabil.
În schimb am descoperit un video foarte ok care face exact ceea ce îmi doream în formatul cât mai simplificat posibil. Video aici: Excel RECURSIVE Lambda – Create loops with ZERO coding! – YouTube . Recommend! Este foarte fain făcut acel video.
Vă reamintesc faptul că aceste funcții pot fi folosite doar în versiunile 365 ale Excel.
Funcția de înlocuire caractere este:
=LAMBDA(text;caracter;caracterNou;
IF(caracter="";text;
fReplace2(SUBSTITUTE(text;caracter;caracterNou);
OFFSET(caracter;1;0);
OFFSET(caracterNou;1;0))))
Funcția folosește 3 parametri:
- Text – Textul care conține caractere speciale. Pentru formula cu înlocuire diacritice este A16
- Caracter – Se specifică în mod absolut prima celulă din tabelul cu caractere. În cazul meu $D$16
- caracterNou – Se specifică la fel absolut pentru primul caracter din lista de înlocuit. În cazul meu: $E$16
În imagine câteva cazuri de utilizare a acestor funcții. Prima versiune, simplificată elimină toate caracterele speciale specificate in coloanal de caractere. În varianta 2 folosesc opțiunea de înlocuire diacritice.
Fișierul cu funcțiile poate fi descărcat de aici: https://1drv.ms/x/s!ApGubfWFh8NurNkpskDX-jpiGo-vxA?e=15Kjej
Fișierul Google poate fi accesat aici: https://docs.google.com/spreadsheets/d/1pmOWPkNvi73vj-1xPsUCalgc-Vwi8eA_/edit?usp=sharing&ouid=107953912995529892032&rtpof=true&sd=true
În cazul în care doriți să refolosiți o funcție Lambda() în alt fișier, puteți copia o foaie de calcul albă din fișierul unde este definită funcția într-un alt fișier deschis sau într-unul nou.
Sper să vă fie util!