REGEX.EXTRACT
Funcția REGEX.EXTRACT returnează corespondențele sau grupurile de capturare dintr-o corespondență a unei anumite expresii regulate dintr-un șir sursă.
REGEX.EXTRACT(șir‑sursă; șir‑expresie‑regulată; apariție‑corespondență; apariție‑grup‑capturare)
șir-sursă: O valoare șir pentru care se face corelarea.
șir-expresie-regulată: O valoare șir ce reprezintă o expresie regulată, utilizată pentru a găsi corespondențe cu șirul-sursă.
apariție‑corespondență: O valoare întreagă opțională care arată care corespondență trebuie returnată în cazul în care există mai multe corespondențe. Valorile întregi negative sunt acceptate și permit accesarea corespondențelor în sens invers, prin urmare -1 este ultima corespondență etc. Dacă avem 0, este returnată o matrice a tuturor corespondențelor. Dacă se omite, prima corespondență este returnată.
apariție‑grup‑capturare: O valoare întreagă opțională care arată care grup de capturare dintr-o corespondență trebuie returnat în cazul în care există grupuri de capturare în expresia regulată. Valorile negative nu sunt acceptate. Dacă 0 este returnat, este returnată o matrice a tuturor grupurilor de capturare. Dacă se omite, întreaga corespondență este returnată.
Note
Șir-expresie-regulată trebuie să se conformeze cu standardul ICU.
Exemple |
---|
Dacă aveți date care nu se încadrează ușor în rândurile și coloanele unei foi de calcul, puteți utiliza funcția REGEX.EXTRACT pentru simplificare. De exemplu, în tabelul de mai jos, datele au o oarecare structură, dar pot fi greu de separat manual în mai multe celule per recenzie. |
A | |
---|---|
1 | Recenzii utilizator |
2 | E-mail: jtalma@icloud.com Nume: Julie Talma Data: 17.05.2021 |
3 | E-mail: danny_rico@icloud.com Nume: Danny Rico Data: 02.06.2021 |
Pentru a rezolva această problemă, puteți adăuga mai multe coloane la tabel pentru Nume, E-mail, Evaluare și Dată și apoi puteți utiliza REGEX.EXTRACT pentru a găsi datele pe care le doriți și a le returna în celulă. De exemplu, ați putea introduce formula următoare pentru a returna un nume: În această formulă sunt utilizate argumentele următoare:
Această formulă poate fi repetată pentru fiecare rând de date pentru a returna numele fiecărei persoane care a răspuns la sondaj modificând șirul-sursă pentru corespondența cu celelalte celule care conțin informații despre recenziile utilizatorilor. |
Pentru a rezolva această problemă, puteți adăuga mai multe coloane la tabel pentru Nume, E-mail, Evaluare și Dată și apoi puteți utiliza REGEX.EXTRACT pentru a găsi datele pe care le doriți și a le returna în celulă. De exemplu, ați putea introduce formula următoare: În această formulă sunt utilizate argumentele următoare:
|
Reorganizarea datelor dintr-o listă cu apariție-corespondență |
---|
Uneori puteți avea date ca tabelul de mai jos (intitulat Furnizori), care grupează valorile într-o celulă: |
Furnizor | Articol |
---|---|
A | Linte, Năut, Fasole |
B | Mere, Portocale, Lămâi |
C | Quinoa, Orez, Chia |
Pentru a separa valorile pe baza magazinului și a rangului, mai întâi puteți crea un tabel nou, asemenea celui de mai jos: |
A | B | C | D | |
---|---|---|---|---|
1 | Rang | A | B | C |
2 | 1 | |||
3 | 2 | |||
4 | 3 |
Pentru a returna Linte, articolul cel mai bine clasat pentru Furnizorul A, puteți utiliza o formulă ca aceasta în celula B2 a noului tabel: În această formulă sunt utilizate argumentele următoare:
|
Formula de mai sus poate fi modificată cu ușurință pentru completarea tabelului pentru alți furnizori și alte articole.
|
Exemple suplimentare |
---|
Fie A1 "marina@exemplu.com ion@exemplu.ca nelu@exemplu.de". =REGEX.EXTRACT(A1; "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.,[A-Za-z]{2;4})") returnează "marina@exemplu.com". =REGEX.EXTRACT(A1; "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2;4})"; 2) returnează "ion@exemplu.ca". =REGEX.EXTRACT(A1; "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2;4})"; -1) returnează "neluexemplu.de". =REGEX.EXTRACT(A1; "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2;4})"; 1; 1) returnează "marina". =REGEX.EXTRACT(A1; "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2;4})"; 2; 2) returnează "exemplu.ca". |