Taula de continguts
Aquesta part següent de les nostres operacions amb text en fulls de càlcul està dedicada a l'extracció. Descobriu maneres d'extreure diverses dades: text, caràcters, números, URL, adreces de correu electrònic, data i amp; temps, etc.: des de diverses posicions en diverses cel·les de Fulls de Google alhora.
Fórmules de Fulls de Google per extreure text i números de cadenes
Fórmules de Google Els llençols ho són tot. Mentre que algunes combinacions afegeixen text & nombres i eliminen diversos caràcters, alguns d'ells també extreuen text, números, caràcters separats, etc.
Extreu dades per posició: primer/últim/mig N caràcters
Les funcions més fàcils de tractar quan esteu a punt de treure dades de Fulls de càlcul de Google, les cel·les són ESQUERRA, DRET i MITJANA. Obtenen qualsevol dada per posició.
Extreu dades del principi de les cel·les a Fulls de càlcul de Google
Podeu extreure fàcilment els primers N caràcters mitjançant la funció ESQUERRA:
ESQUERRA(cadena, [nombre_de_caràcters])- cadena és el text d'on voleu extreure les dades.
- nombre_de_caràcters és el nombre de caràcters que cal treure a partir de l'esquerra.
Aquí teniu l'exemple més senzill: traiem els codis de país dels números de telèfon:
Com podeu veure, país els codis prenen 6 símbols al principi de les cel·les, de manera que la fórmula que necessiteu és:
=LEFT(A2,6)
Consell. ArrayFormula permetrà obtenir 6 caràcters deltot l'interval alhora:
=ArrayFormula(LEFT(A2:A7,6))
Extreu dades del final de les cel·les a Fulls de càlcul de Google
Per treure els darrers N caràcters de les cel·les, feu servir la funció RIGHT en lloc d'això:
RIGHT(cadena,[nombre_de_caràcters])- cadena segueix sent el text (o una referència de cel·la) per extreure dades.
- nombre_de_caràcters també és el nombre de caràcters que cal agafar des de la dreta.
Aconseguim els noms dels països dels mateixos números de telèfon:
Només prenen 2 caràcters i això és exactament el que esmento a la fórmula:
=RIGHT(A2,2)
Consell. ArrayFormula també us ajudarà a extreure dades del final de totes les cel·les de Fulls de Google alhora:
=ArrayFormula(RIGHT(A2:A7,2))
Extreure dades del centre de les cel·les de Fulls de Google
Si hi ha funcions per extreure dades des del principi i del final de les cel·les, també hi ha d'haver una funció per extreure dades del centre. I sí, n'hi ha un.
Es diu MID:
MID(string, starting_at, extract_length)- string — el text on voleu treure la part central des de.
- starting_at — la posició del caràcter des del qual voleu començar a obtenir les dades.
- extract_length — el número de caràcters que heu de treure.
Amb l'exemple dels mateixos números de telèfon, busquem els mateixos números de telèfon sense els seus codis de país i paísabreviatura:
Com que els codis de país acaben amb el sisè caràcter i el setè és el guió, trauré números a partir del vuitè dígit. I obtindré 8 dígits en total:
=MID(A2,8,8)
Consell. Si canvieu una cel·la a tot l'interval i l'emboliqueu a ArrayFormula, us proporcionarà el resultat de cada cel·la alhora:
=ArrayFormula(MID(A2:A7,8,8))
Extreu text/números de cadenes
De vegades, extreure text per posició (com es mostra més amunt) no és una opció. Les cadenes necessàries poden residir en qualsevol part de les vostres cel·les i constar d'un nombre diferent de caràcters que us obliguen a crear fórmules diferents per a cada cel·la.
Però Fulls de càlcul de Google no seria Fulls de Google si no tingués altres funcions que ajudaran a extreure text de les cadenes.
Anem a revisar algunes maneres possibles en què ofereixen els fulls de càlcul.
Extreure dades abans d'un text determinat: ESQUERRA+CERCAR
Sempre que voleu extreure dades que precedeixen a un text determinat, feu servir LEFT + SEARCH:
- LEFT s'utilitza per retornar un cert nombre de caràcters des del principi de les cel·les (des de la seva esquerra)
- CERCAR cerca determinats caràcters/cadenes i n'obté la posició.
Combineu-los — i LEFT retornarà el nombre de caràcters suggerits per SEARCH.
Aquí teniu un exemple: com extreu els codis textuals abans de cada "ea"?
Aquesta és la fórmula que us ajudarà en similarscasos:
=LEFT(A2,SEARCH("ea",A2)-1)
Així és el que passa a la fórmula:
- CERCAR("ea",A2 ) cerca 'ea' a A2 i retorna la posició on comença aquest 'ea' per a cada cel·la: 10.
- Així que la 10a posició és on resideix 'e'. Però com que ho vull tot just abans de "ea", he de restar 1 d'aquesta posició. En cas contrari, també es retornarà "e". Així que al final obtinc 9.
- ESQUERRA mira A2 i obté els primers 9 caràcters.
Extreu les dades després del text
Allà també són mitjans per obtenir-ho tot després d'una determinada cadena de text. Però aquesta vegada, RIGHT no ajudarà. En canvi, REGEXREPLACE fa el seu torn.
Consell. REGEXREPLACE utilitza expressions regulars. Si no esteu preparat per tractar-los, hi ha una solució molt més fàcil que es descriu a continuació. REGEXREPLACE(text, expressió_regular, substitució)
- text és una cadena o una cel·la on voleu fer canvis
- expressió_regular és la combinació de caràcters que representen una part del text que esteu buscant
- substitució és el que voleu obtenir en lloc d'aquest text
Llavors, com s'utilitza per extreure dades després d'un text determinat —'ea' en el meu exemple?
Fàcil — utilitzant aquesta fórmula:
=REGEXREPLACE(A2,"(.*)ea(.*)","$2")
Deixa'm explicar com funciona exactament aquesta fórmula:
- A2 és una cel·la que estic extreint les dades de.
- "(.*)ea(.*)" és el meu habitualexpressió (o podeu anomenar-la màscara). Busco "ea" i poso tots els altres caràcters entre parèntesis. Hi ha 2 grups de caràcters: tot el que està abans de "ea" és el primer grup (.*) i tot el que està després de "ea" és el segon (.*). La màscara sencera es posa entre cometes dobles.
- "$2" és el que vull obtenir: el segon grup (d'aquí el seu número 2) de l'argument anterior.
Consell. Tots els caràcters utilitzats en expressions regulars es recullen en aquesta pàgina especial.
Extreure números de les cel·les de Fulls de càlcul de Google
Què passa si voleu extreure només números quan la seva posició i el que vagi abans & després no importa?
Les màscares (també conegudes com expressions regulars) també ajudaran. De fet, agafaré la mateixa funció REGEXREPLACE i canviaré l'expressió regular:
=REGEXREPLACE(A2,"[^[:digit:]]", "")
- A2 és una cel·la d'on vull obtenir aquests números.
- "[^[:digit:]]" és una expressió regular que pren tot menys dígits. Aquest símbol ^caret és el que fa una excepció per als dígits.
- "" substitueix tot excepte els caràcters numèrics per "res". O, en altres paraules, l'elimina completament, deixant només números a les cel·les. O bé, extreu números :)
Extreu text ignorant els números i altres caràcters
De manera similar, només podeu treure dades alfabètiques de les cel·les de Fulls de càlcul de Google. La contracció de l'expressió regular thatsignifica text s'anomena en conseqüència — alpha:
=REGEXREPLACE(A2,"[^[:alpha:]]", "")
Aquesta fórmula ho pren tot menys lletres (A-Z, a-z) i literalment la substitueix per "res". . O, per dir-ho d'una altra manera, només treu lletres.
Formes sense fórmules per extreure dades de les cel·les de Fulls de càlcul de Google
Si busqueu una manera senzilla sense fórmules de extreu diversos tipus de dades, heu arribat al lloc correcte. El nostre complement d'eines elèctriques només té les eines per a la feina.
Extreure diferents tipus de dades amb els complements d'eines elèctriques
La primera eina que m'agradaria que conegueu es diu Extreu . Fa exactament el que has vingut a buscar en aquest article: extreu diferents tipus de dades de les cel·les de Fulls de càlcul de Google.
Configuració fàcil d'utilitzar
Tots els casos que he tractat anteriorment no ho són. només es pot resoldre amb el complement. L'eina és fàcil d'utilitzar , de manera que tot el que heu de fer és seleccionar l'interval que voleu processar i marcar les caselles de selecció necessàries. Sense fórmules, sense expressions regulars.
Recordeu el segon punt d'aquest article amb REGEXREPLACE i expressions regulars? Així és de senzill per al complement:
Opcions addicionals
Com podeu veure, hi ha algunes opcions addicionals (només caselles de selecció) que podeu activar/desactivar ràpidament per obtenir el resultat més precís:
- Obteniu només les cadenes de les majúscules i minúscules requerides.
- Traieu totes les ocurrències de cadascunacel·la i col·loqueu-les en una cel·la o columnes separades.
- Inseriu una columna nova amb el resultat a la dreta de les dades d'origen.
- Esborra el text extret de les dades d'origen.
Extreu diferents tipus de dades
No només Power Tools extreu dades abans/després/entre determinades cadenes de text i els primers/últims N caràcters; però també treu el següent:
- Nombres juntament amb els seus decimals mantenint intactes els separadors decimals/de milers:
Extreu qualsevol cadena de dades de tot arreu
Hi ha també una opció per configurar el vostre propi patró exacte i utilitzar-lo per a l'extracció. Extreu amb màscara i els seus caràcters comodí — * i ? — feu el truc:
- Per exemple, podeu treure tot entre parèntesis utilitzant la màscara següent: (*)
- O obteniu aquells SKU que només tenen 5 números als seus identificadors: SKU?????
- O, tal com mostro a la captura de pantalla següent, traieu-ho tot després de cada "ea" de cada cel·la: ea*
Extreu la data i l'hora de les marques de temps
Com a avantatge, hi ha una eina més petita que extreu la data i l'hora de les marques de temps: s'anomena Data dividida i amp; Temps.
Tot i que es va crear per dividir les marques de temps en primer lloc, és perfectamentcapaç d'obtenir una de les unitats desitjades de manera individual:
Només seleccioneu una de les caselles de selecció en funció del que vulgueu extreure (data o hora) de les marques de temps de Google Sheets i premeu Dividir . La unitat requerida es copiarà a una columna nova (o substituirà les dades originals si també seleccioneu l'última casella de selecció):
Aquesta eina també forma part de el complement d'Eines elèctriques, de manera que un cop l'instal·leu per obtenir qualsevol dada de les cel·les de Fulls de càlcul de Google, us cobreix completament. Si no, deixa un comentari i t'ajudarem :)