Cómo dividir un texto en columnas mediante funciones de Excel

Una tarea bastante común al manipular datos en Excel es la de dividir el contenido de una celda en dos o más partes. Aunque el ejemplo más claro lo encontramos a la hora de separar los nombres y apellidos de una persona, también es muy útil para manipular archivos .csv que, normalmente suelen tener un formato bastante ilegible.

Para dividir un texto en dos o más partes puedes utilizar la herramienta Texto en columnas (ficha Datos) o puedes hacerlo gracias a algunas de las funciones de la categoría Texto.

Hoy te mostraré cómo utilizar estas funciones de Texto para separar en dos o más partes una cadena de texto.

Para utilizar eficientemente estas funciones de Texto, el secreto es conocer la posición de cada carácter dentro de la cadena de texto, sobre todo la posición del carácter que se va a utilizar como separador de los textos.

Separar nombre y apellido

Imagina una celda que contiene un nombre y un apellido. El apellido siempre comienza detrás de un espacio. La clave para separar el nombre del apellido estaría en hallar la posición en la que se encuentra el espacio para, a partir de ahí, trasladar la parte de la izquierda a una celda y el resto de la cadena a otra.

como dividir un texto con funciones

Te explico cómo funcionan estas fórmulas:

Para extraer el nombre de la cadena de texto primero se debe encontrar la posición que ocupa el espacio. La función HALLAR se encarga de eso. Después, con la función IZQUIERDA se extraen los caracteres desde la posición 1 hasta la posición que ha devuelto la función HALLAR. En el caso del nombre es la posición 7 la que ocupa el espacio, así que se debe restar uno al resultado para que solamente devuelva el nombre (https://ayudaexcel.com/wp-content/uploads/2014/02/Validacion-datos-formulas-Excel-1.png).

Extraer el apellido es algo diferente ya que parto desde la derecha contando los caracteres hacia atrás. Igual que antes, la función HALLAR me dice qué posición ocupa el espacio en la celda A1 (7). El siguiente objetivo es averiguar el número de caracteres de la celda A1 para restarle el valor devuelto por HALLAR. Por último utilizo la función DERECHA para extraer ese número de caracteres comenzando desde el último.

Para extraer el apellido también podría haber utilizado la función EXTRAE de la misma forma en la que la utilizo en el siguiente ejemplo.

Dividir un texto de tres o más palabras

Separar un texto de tres palabras no es más complicado: es mucho más divertido.

Para extraer la primera palabra puedes ver el ejemplo anterior. Es exactamente igual.

Dividir un texto mediante funciones Excel

Para separar la segunda palabra necesitaré la función EXTRAE. Esta función extrae de una cadena de texto cierto número de caracteres desde una posición.

Como te indiqué antes, la clave para separar una cadena de texto en varias partes es conocer la posición en la que se encuentra el carácter de separación.

La palabra “verde” se encuentra entre dos espacios así que en primer lugar, hay que buscar la posición del primer espacio y luego la del segundo. Una vez conocidas estas posiciones, se transfieren los resultados a la función EXTRAE.

dividir un texto con funciones de Excel

Para hallar el número de caracteres, que es seguramente la parte más difícil de la fórmula, le indico a HALLAR (en color rosa) que busque un espacio desde el primer espacio que encuentre, es decir, que me diga la posición del segundo espacio del texto. Una vez que sé en qué posición se encuentra el segundo espacio le resto la posición del primer espacio para que me devuelva el número de caracteres que contiene. Es algo lioso. Te recomiendo que lo analices con detenimiento.

Este segundo ejemplo, es realmente útil a la hora de separar los componentes de una fecha (si no quieres utilizar directamente la función FECHA o la herramienta Texto en columnas, claro).

Es posible que necesites dividir el texto en más de tres partes. Si es así, puedes seguir anidando funciones HALLAR y extraerlas con EXTRAER. Te recomiendo que dividas la fórmula en partes más pequeñas para mejorar la legibilidad y luego las juntes en una sola.

¿Te ha parecido útil? ¡Comenta!

Respuestas

  1. Excelente, gracias por el artículo. Que pasa cuando tenemos dos nombres y dos apellidos y queremos separarlos en Nombres y Apellidos???

    1. Daniel, tienes que seguir el ejemplo dos. Si eres capaz de separar la segunda palabra comenzando por la izquierda, seguro que no te resulta difícil separar la segunda palabra comenzando por la derecha.

      Prueba y me cuentas.

  2. Excelente Aporte, Cuál es la diferencia entre la función HALLAR y ENCONTRAR

    1. Didier, con ENCONTRAR, no puedes utilizar caracteres comodín (* ó ?) y en los caracteres a buscar deben coincidir también mayúsculas y minúsculas.

  3. Upsss… super, lo major es el reto y lograrlo¡¡¡ me encantas esa parte¡¡
    Gracias

  4. Hola, he intentado aplicar la función que has indicado, para una fecha (31/05/2015) y no consigo que lo separe, podrías indicarme cual sería la formula.
    Gracias

  5. Holaa ,

    ya lo probe para mi situacion y no he podido resolverlo…. mi ejemplo es el siguiente:

    juan12 pedro13 pablo14rosi15blanca16perla17……..

    todo esta en la misma celda 🙁 , en algunos datos tiene espacios y en otros estan pegados por monton ..

    mil gracias por su ayuda!

  6. Buen día,

    Cómo se hacen cuándo los Nombre (s) o los Apellido (s), son compuestos (de, del, etc.)

    Mil gracias si pueden ayudarme…

    1. Hola Rafael!
      Sólo es posible determinar si una palabra es un nombre o un apellido, si existe una coma para separarlos. En caso contrario, me temo que será complicado.

  7. Muchas Gracias, tenía que resolver esto en una lista con estos datos:
    “Venezuela: 31.500.000 (CELDA A44)” y debía separar la cantidad 31.500.000
    Formula =DERECHA(A44;LARGO(A44)-HALLAR(“:”;A44;1))
    Resultado = 31.500.000

  8. Hola buen día, quiero saber si existe una formula para separar direcciónes, en donde yo ingrese direcciones diferentes pero la formula este fija sin necesidad de cambiar el total de caracteres en la formula algo asi que diga que entre calle y numero me devuelva solo el dato de la calle entre numero y colonia solo el numero y asi sucesivamente, obviamente el total de los caracteres de una dirección puede cambiar. por ejemplo:

    Calle: Margarita Maza de Tampico Numero: 35 Colonia: Villa Juárez Ciudad: Salvador Mejia Estado: Sinaloa CP: 34791 Entre: Marcelino Juarez y: Pedro Juarez Referencia: en contra esquina de un oxxo fachada blanca con negro con rotulo de six y nombre en placa de metal horario de 9 am a 9 pm

    quiero que en una celda sea solo el dato de la calle “Margarita Maza de Tampico” que no me devuleva la palabra calle, y así sucesivamente con numero, colonia, ciudad, estado etc.

    Espero que me puedan apoyar, no eh logrado encontrar una formula. Gracias ! 🙂

    1. Hola Carolina!
      Fíjate que según el ejemplo que proporcionas, cada campo está separado con dos puntos (:). Puedes utilizar este caracter para separar los datos en columnas y luego eliminar la última palabra del dresultado, es decir, el nombre del siguiente campo.

Los comentarios están cerrados.