En este artículo les muestro como extraer cualquier palabra de un texto con las funciones SPLIT, INDICE y CONTARA.
Aquí tienen la explicación también en video
SPLIT es una de esas funciones «mágicas» de Google Sheets que en principio sirve para una cosa, pero que con suficiente creatividad, nos puede ayudar en muchos de nuestros problemas.
Hace algún tiempo publique un artículo explicando como extraer la primera palabra de una celda y hasta la segunda.
Ese es un buen método para empezar a jugar con las funciones de texto de Sheets y las funciones condicionales, pero la verdad es que usando SPLIT se van a olvidar de esto para siempre y vana llegar a un nuevo nivel con Google Sheets.
Con SPLIT, INDICE y CONTAR podemos extraer la palabra que queramos con una función no tan larga y sin condicionales.
Vamos a ir por varios ejemplos para ir entendiendo la funciòn SPLIT y otras funciones que vamos a necesitar
Extrayendo la primera palabra
Primero les voy a dar la formula y después les voy a explicar paso por paso.
=INDICE(split(A2;»,»);1)
Asumimos que el texto está en la celda A2.
SPLIT es una función que nos separa una cadena de texto con el delimitador que nosotros queramos
En otras palabras, nos separa un texto, con el separador que yo le diga, poniendo cada palabra en una posición del arreglo, y en una celda distinta.
Es como la funcionalidad «Separar texto por columnas» que tanto Sheets como Excel tienen.
Es vital entender que un arreglo es un conjunto de variables con un INDICE
Entonces si mi texto es: «Donde esta Maria», el arreglo SPLIT(«Donde esta Maria») sería:
[«Donde», «esta», «Maria»]
La posición 1 del arreglo sería «Donde», la 2 sería «está», y la 3 «María».
Ahora entonces viene la función INDICE. Esta precisamente lo que hace es traernos la posición que nosotros queramos de un arreglo. Recibe primero el arreglo y después la posición, la cual puede ser solo un número, o 2 si el arreglo es bidimensional, es decir si es un rango con más de una fila y más de una columna.
En este caso, como es un arreglo con una sola fila, solo necesitamos darle la posición que queremos.
Si es la primera palabra la que queremos, entonces la posición sería 1.
Extrayendo la segunda palabra
=INDICE(split(A2;»,»);2)
Ya es más fácil entonces extraer la segunda o la tercera palabra. Simplemente cambiamos el indice por 2 o 3.
Extrayendo la ultima palabra
=INDICE(SPLIT(A2;»,»);CONTARA(SPLIT(A2;»,»)))
Aquí se nos pone un poquito más complicado, porque en la frase «El apartamento es muy grande», la posición de la última palabra es 5, pero en «Donde esta Maria» es 3.
En otras palabras necesitamos un método dinámico de encontrar la posición de la última palabra.
Para esto vamos a usar la función CONTARA.
Esta función normalmente cuenta las celdas que tengan algún valor (numérico o no) en un rango.
Lo único que tenemos que meter en nuestra cabeza fuertemente (muy distinto a como funciona Excel), es que SPLIT(A2) no es nada más que un rango como cualquier otro en Sheets.
Entonces podemos usar cualquier función que usaríamos en cualquier rango de Sheets.
Con CONTARA por ejemplo, contaríamos cuantos valores tiene el arreglo, y sería el mismo número correspondiente a la posición de la última palabra
Lo que hacemos entonces es reemplazar el argumento de la posición en INDICE que teníamos fijo y lo reemplazamos con CONTARA(SPLIT(A2;»,»))
Es muy buena la formula la probé pero no me cuenta cuando hay vacíos entre separadores pregunto es posible que cuente también los vacíos,
por ejemplo cuando desarrollo con split pongo FALSO,FALSO para que deje celdas vacías
Hola!
Puedes poner todos los separadores que quieras en el segundo argumento así:
=split(A1;», «)
Me cuentas si te sirve
Saludos!