Cómo Separar Apellidos y Nombres en Excel: GuÃa Completa
Separar apellidos y nombres en una sola celda de Excel es una de las tareas más frecuentes al limpiar bases de datos, preparar informes o cruzar información con otras hojas. La buena noticia es que Excel ofrece múltiples métodos, desde fórmulas clásicas hasta funciones modernas de Microsoft 365, y cada uno tiene sus ventajas según el formato de tus datos.
Supongamos que en la celda A1 tienes un nombre completo como "GarcÃa López, MarÃa Ana" o simplemente "MarÃa Ana GarcÃa López". El objetivo es extraer el nombre (primer token) y los apellidos (resto) en celdas B1 y C1 respectivamente.
Método 1: Relleno Rápido (Flash Fill) – Es el método más intuitivo. En la celda B1 escribe a mano solo el nombre ("MarÃa Ana") y pulsa Enter. En B2 escribe el nombre de la segunda fila. A partir de la tercera celda, presiona Ctrl + Shift + E o ve a Datos → Relleno rápido. Excel detecta el patrón y completa toda la columna automáticamente. Haz lo mismo en la columna C con los apellidos.
Método 2: Texto en Columnas (solo si hay separador fijo) – Si tus datos están en formato "Apellido, Nombre" con coma y espacio como delimitador, selecciona la columna, ve a Datos → Texto en columnas, elige "Delimitado", marca la casilla "Coma" y listo. Excel dividirá en dos columnas al instante.
Método 3: Fórmulas con BUSCAR + IZQUIERDA + DERECHA – Para el formato "Nombre Apellido" (solo un espacio entre nombre y apellidos), usa esta fórmula en B1 para extraer el nombre:
=SEIZQ(A1;BUSCAR(" ";A1)-1)
Y en C1 para extraer los apellidos:
=SEDER(A1;LARGO(A1)-BUSCAR(" ";A1))
Si hay múltiples espacios o el nombre tiene varios apellidos, una fórmula más robusta serÃa:
| Objetivo | Fórmula (separador espacio) |
|---|---|
| Nombre (1er token) | =SEIZQ(A1;BUSCAR(" ";A1)-1) |
| Apellidos (resto) | =SEDER(A1;LARGO(A1)-BUSCAR(" ";A1)) |
| Limpiar espacios extra | =ESPACIOS(SEIZQ(A1;BUSCAR(" ";A1)-1)) |
Método 4: Función DIVIDIRTEXTO (Excel 365 / 2021) – Si dispones de Microsoft 365, la función TEXTSPLIT simplifica todo enormemente. En B1:
=TEXTO.DIVIDIR(A1;" ";1;1) → devuelve solo la primera parte (nombre).
=TEXTO.DIVIDIR(A1;" ";2;99) → devuelve desde la segunda parte en adelante (apellidos).
Esta función genera un array dinámico, por lo que al copiar hacia abajo se adapta automáticamente a cada fila sin necesidad de arrastrar.
En Excel 365, la función TEXTO.DIVIDIR(celda;" ") separa por espacio en un solo paso, devolviendo un array dinámico sin necesidad de fórmulas anidadas.
Dato clave