Táboa de contidos
Este seguinte paso das nosas operacións con texto en follas de cálculo está dedicado á extracción. Descubra formas de extraer varios datos: texto, caracteres, números, URL, enderezos de correo electrónico, data e amp; tempo, etc.: desde varias posicións en varias celas de Follas de cálculo de Google á vez.
Fórmulas de Follas de cálculo de Google para extraer texto e números de cadeas
Fórmulas en Google As sabas son todo. Mentres algúns combos engaden texto & números e elimina varios caracteres, algúns deles tamén extraen texto, números, caracteres separados, etc.
Extrae datos por posición: primeiro/último/intermedio N caracteres
As funcións máis fáciles de manexar cando estás a piques de sacar datos de Follas de cálculo de Google, as celas están a ESQUERDA, A DEREITA e a MEDIA. Obteñen todos os datos por posición.
Extrae datos do inicio das celas en Follas de cálculo de Google
Podes extraer facilmente os primeiros N caracteres usando a función LEFT:
LEFT(cadea, [número_de_caracteres])- cadea é o texto do que quere extraer os datos.
- número_de_caracteres é o número de caracteres que se deben sacar ao principio desde a esquerda.
Aquí está o exemplo máis sinxelo: saquemos os códigos de país dos números de teléfono:
Como podes ver, país os códigos levan 6 símbolos ao comezo das celas, polo que a fórmula que precisa é:
=LEFT(A2,6)
Consello. ArrayFormula permitirá obter 6 caracteres dointervalo completo á vez:
=ArrayFormula(LEFT(A2:A7,6))
Extrae datos do final das celas en Follas de cálculo de Google
Para sacar os últimos N caracteres das celas, use a función RIGHT no seu lugar:
RIGHT(cadea,[número_de_caracteres])- cadea segue sendo o texto (ou unha referencia de cela) para extraer datos.
- número_de_caracteres tamén é o número de caracteres que hai que tomar desde a dereita.
Obtemos os nomes de países dos mesmos números de teléfono:
Só levan 2 caracteres e iso é exactamente o que menciono na fórmula:
=RIGHT(A2,2)
Consello. ArrayFormula tamén che axudará a extraer datos do final de todas as celas de Follas de cálculo de Google á vez:
=ArrayFormula(RIGHT(A2:A7,2))
Extrae datos do medio das celas de Follas de cálculo de Google
Se hai funcións para extraer datos do principio e do final das celas, debe haber unha función para extraer datos tamén do medio. E si, hai un.
Chámase MID:
MID(string, starting_at, extract_length)- string — o texto onde queres sacar a parte central desde.
- comenzando_a — a posición do carácter desde o que quere comezar a obter os datos.
- extract_length — o número de caracteres que debes sacar.
Co exemplo dos mesmos números de teléfono, busquemos os propios números de teléfono sen os seus códigos de país e paísabreviatura:
Como os códigos de país rematan co sexto carácter e o sétimo é o guión, tirarei números a partir do oitavo díxitos. E obterei 8 díxitos en total:
=MID(A2,8,8)
Consello. Cambiar unha cela a todo o intervalo e envolvela en ArrayFormula proporcionarache o resultado para cada cela á vez:
=ArrayFormula(MID(A2:A7,8,8))
Extraer texto/números de cadeas
Ás veces, extraer texto por posición (como se mostra arriba) non é unha opción. As cadeas necesarias poden residir en calquera parte das túas celas e consistir nun número diferente de caracteres o que che obriga a crear fórmulas diferentes para cada cela.
Pero Follas de cálculo de Google non sería Follas de cálculo de Google se non tivese outras funcións que axudarían a extraer texto das cadeas.
Imos revisar algunhas formas posibles das que ofrecen as follas de cálculo.
Extrae datos antes dun determinado texto — ESQUERDA+BUSCAR
Cando queiras quere extraer datos que preceden a un determinado texto, use LEFT + SEARCH:
- LEFT úsase para devolver un determinado número de caracteres desde o inicio das celas (desde a súa esquerda)
- BUSCAR busca certos caracteres/cadeas e obtén a súa posición.
Combine estes e LEFT devolverá o número de caracteres suxeridos por SEARCH.
Aquí tes un exemplo: como extraes códigos textuais antes de cada 'ea'?
Esta é a fórmula que che axudará en similarescasos:
=LEFT(A2,SEARCH("ea",A2)-1)
Aquí está o que ocorre na fórmula:
- BUSCAR("ea",A2 ) busca 'ea' en A2 e devolve a posición onde comeza ese 'ea' para cada cela — 10.
- Así que a décima posición é onde reside 'e'. Pero como quero todo ben antes de 'ea', teño que restar 1 desa posición. En caso contrario, tamén se devolverá "e". Así que finalmente teño 9.
- ESQUERDA mira A2 e obtén os 9 primeiros caracteres.
Extrae os datos despois do texto
Alí tamén son medios para obter todo despois dunha determinada cadea de texto. Pero esta vez, RIGHT non axudará. Pola contra, REGEXREPLACE toma a súa quenda.
Consello. REGEXREPLACE usa expresións regulares. Se non estás preparado para tratar con eles, hai unha solución moito máis sinxela que se describe a continuación. REGEXREPLACE(texto, expresión_regular, substitución)
- texto é unha cadea ou unha cela na que desexa facer cambios
- expresión_regular é a combinación de os caracteres que representan unha parte do texto que estás buscando
- substitución son o que queres obter en lugar dese texto
Entón, como o usas para extraer datos despois dun determinado texto — 'ea' no meu exemplo?
Fácil — usando esta fórmula:
=REGEXREPLACE(A2,"(.*)ea(.*)","$2")
Déixeme explicar exactamente como funciona esta fórmula:
- A2 é unha cela que estou extraendo os datos de.
- "(.*)ea(.*)" é o meu habitualexpresión (ou podes chamalo máscara). Busco "ea" e poño todos os demais caracteres entre corchetes. Hai 2 grupos de caracteres: todo antes de 'ea' é o primeiro grupo (.*) e todo despois de 'ea' é o segundo (.*). A máscara enteira ponse entre comiñas dobres.
- "$2" é o que quero obter: o segundo grupo (de aí o seu número 2) do argumento anterior.
Consello. Todos os caracteres utilizados nas expresións regulares recóllense nesta páxina especial. & despois non importa?
As máscaras (tamén coñecidas como expresións regulares) tamén axudarán. De feito, tomarei a mesma función REGEXREPLACE e cambiarei a expresión regular:
=REGEXREPLACE(A2,"[^[:digit:]]", "")
- A2 é unha cela da que quero obter eses números.
- "[^[:digit:]]" é unha expresión regular que toma todo menos díxitos. Ese símbolo ^caret é o que fai unha excepción para os díxitos.
- "" substitúe todo excepto os caracteres numéricos por "nada". Ou, noutras palabras, elimínao por completo, deixando só números nas celas. Ou extrae números :)
Extrae texto ignorando números e outros caracteres
De forma similar, podes sacar só datos alfabéticos das celas de Follas de cálculo de Google. A contracción da expresión regular thatsignifica texto chámase en consecuencia — alpha:
=REGEXREPLACE(A2,"[^[:alpha:]]", "")
Esta fórmula toma todo menos letras (A-Z, a-z) e literalmente substitúea por "nada". . Ou, dito doutro xeito, elimina só letras.
Formas sen fórmulas de extraer datos das celas de Follas de cálculo de Google
Se estás a buscar un xeito sinxelo de extraer datos sen fórmulas. extrae varios tipos de datos, chegaches ao lugar indicado. O noso complemento de Power Tools só ten as ferramentas para o traballo.
Extrae diferentes tipos de datos mediante complementos de Power Tools
A primeira ferramenta que me gustaría que coñeceses chámase Extraer . Fai exactamente o que buscaches neste artigo: extrae diferentes tipos de datos das celas de Follas de cálculo de Google.
Configuración fácil de usar
Todos os casos que comentei anteriormente non son só solucionable co complemento. A ferramenta é fácil de usar polo que só tes que seleccionar o intervalo que queres procesar e marcar as caixas de verificación necesarias. Sen fórmulas, sen expresións regulares.
Lembras o segundo punto deste artigo con REGEXREPLACE e expresións regulares? Así é o sinxelo que é para o complemento:
Opcións adicionais
Como podes ver, hai algunhas opcións adicionais (só caixas de verificación) que pode activar/desactivar rapidamente para obter o resultado máis preciso:
- Obtén só as cadeas do texto necesario.
- Saca todas as ocorrencias de cada uncela e colócaas nunha cela ou columnas separadas.
- Insira unha nova columna co resultado á dereita dos datos de orixe.
- Borra o texto extraído dos datos de orixe.
Extrae diferentes tipos de datos
Non só Power Tools extrae datos antes/despois/entre determinadas cadeas de texto e os primeiros/últimos N caracteres; pero tamén elimina o seguinte:
- Números xunto cos seus decimais mantendo intactos os separadores decimais/miles:
Extrae calquera cadea de datos de todas partes
Hai tamén unha opción para configurar o seu propio patrón exacto e usalo para a extracción. Extraer por máscara e os seus caracteres comodín — * e ? — fai o truco:
- Por exemplo, podes sacar todo entre corchetes usando a seguinte máscara: (*)
- Ou obtén aqueles SKU que teñen só 5 números nos seus ID: SKU?????
- Ou, como mostro na captura de pantalla a continuación, tira todo despois de cada 'ea' en cada cela: ea*
Extraer data e hora das marcas de tempo
Como extra, hai unha ferramenta máis pequena que extraerá a data e a hora das marcas de tempo: chámase Dividir data e amp; Tempo.
Aínda que foi creado para dividir marcas de tempo en primeiro lugar, é perfectamentecapaz de obter unha das unidades desexadas individualmente:
Só só seleccione unha das caixas de verificación dependendo do que quere extraer (data ou hora) das marcas de tempo en Follas de cálculo de Google e prema Dividir . A unidade necesaria copiarase nunha nova columna (ou substituirá os datos orixinais se tamén selecciona a última caixa de verificación):
Esta ferramenta tamén forma parte de o complemento de Ferramentas eléctricas, polo que unha vez que o instales para obter os datos das celas de Follas de cálculo de Google, tes cuberto por completo. Se non, deixa un comentario e axudarémosche :)