Situatie
Versiunile moderne de editoare de spreadsheet-uri dispun deja de instrumente pentru separarea datelor in functie de un caracter explicit utilizat in delimitare; totusi, acestea de obicei trebuie invocate manual. Daca avem nevoie de aceasta operatiune adesea, dispunem de functii pentru automatizarea procesului.
Solutie
Sa presupunem ca avem 4 siruri de caractere separate prin virgula, precum in exemplul de mai jos:
| String | #1 | #2 | #3 | #4 |
| asdasdassd,zxczxczxc,2131231321,iiiiiiiiiiiii | asdasdassd | zxczxczxc | 2131231321 | iiiiiiiiiiiii |
| 1231231232,zxczxczxc,asdasdasda,qqqqqqqqqq | 1231231232 | zxczxczxc | asdasdasda | qqqqqqqqqq |
| asdasdasda,123123123,xzczxczxc,???????? | asdasdasda | 123123123 | xzczxczxc | ???????? |
In coloana String, avem 3 randuri cu cate 4 siruri de caractere; daca dorim sa le separam, in coloanele din dreapta fiecarui rand putem utiliza urmatoarele functii:
=LEFT(A2,FIND(“,”,A2)-1)
=MID(A2,FIND(“,”,A2)+1,FIND(“,”,A2,FIND(“,”,A2)+1)-FIND(“,”,A2)-1)
=TRIM(MID(A2,FIND(“,”,A2,FIND(“,”,A2)+1)+1,FIND(“,”,A2,FIND(“,”,A2,FIND(“,”,A2)
=TRIM(RIGHT(SUBSTITUTE(A2,”,”,REPT(” “,100)),100))
Bineinteles, exista multiple metode pentru obtinerea rezultatelor din coloanele #1 #2 #3 si #4, dar cel putin cele prezentate pot fi intelese cu usurinta; in primele 3 cazuri desi incepem procesarea de la stanga la dreapta, pentru ultima situatie pornim de la sfarsit si facem urmatorul artificiu: inlocuim virgula cu 100 spatii (sau mai multe daca sirul nostru de caractere este mai lung de atat), dupa care extragem ultimele caractere si indepartam spatiile.
Implementari si idei similare se pot regasi si in tutorialele de initializare pentru limbajele de programare precum C sau Python, caz in care putem sa ne inspiram din acestea chiar daca nu avem nevoie explicit sa scriem cod.
Leave A Comment?