INICIO
ofimatica · microsoft excel
como separar en excel apellidos y nombres, Hoja de cálculo Excel mostrando la separación de nombres y apellidos en columnas independientes
ofimatica ·#8163 ·Lectura 3 min

¿Como separar en excel apellidos y nombres?

Respuesta corta

Atajo rápido: escribe el nombre en la celda vecina y pulsa Ctrl + Shift + E para que Excel complete toda la columna automáticamente (Relleno Rápido).

01

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:


ObjetivoFó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
como separar en excel apellidos y nombres, Editor VBA de Excel con macro para separar nombres y apellidos por Split
Imagen

Editor VBA de Excel con macro para separar nombres y apellidos por Split

02

Métodos para dividir nombres y apellidos en columnas independientes

Es importante tener en cuenta las particularidades del idioma. En Excel en español, las funciones usan punto y coma como separador de argumentos y las comillas dobles para texto. Si tu Excel está en inglés, reemplaza SEIZQ por LEFT, SEDER por MID/RIGHT, BUSCAR por FIND y LARGO por LEN.


Un caso común es cuando los datos vienen como "Apellido1 Apellido2, Nombre". En ese caso, primero separa por la coma con TEXTO.DIVIDIR(A1;", ") y luego aplica la extracción de tokens sobre cada parte.


Si trabajas con miles de filas y los formatos no son uniformos (a veces hay coma, a veces solo espacio, a veces hay tildes o dobles espacios), lo más eficiente es un pequeño macro VBA:


Sub SepararNombres()
Dim celda As Range
For Each celda In Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row)
    Dim partes() As String
    partes = Split(Trim(celda.Value), ", ")
    If UBound(partes) >= 1 Then
        celda.Offset(0, 1).Value = partes(1) ' Nombre
        celda.Offset(0, 2).Value = partes(0) ' Apellidos
    Else
        partes = Split(Trim(celda.Value), " ")
        celda.Offset(0, 1).Value = partes(0)
        If UBound(partes) >= 1 Then
            Dim ap As String
            For i = 1 To UBound(partes)
                ap = ap & partes(i) & " "
            Next
            celda.Offset(0, 2).Value = Trim(ap)
        End If
    End If
Next celda
End Sub

Abre el editor con Alt + F11, inserta un módulo, pega el código y ejecútalo. Ajusta las columnas y delimitadores a tu caso concreto.


Por último, recuerda aplicar =ESPACIOS() o TRIM() al resultado para eliminar espacios dobles o sobrantes que a veces aparecen tras la separación, especialmente si los datos provienen de copiar y pegar desde PDFs o sistemas de gestión.

Conclusión

¿como separar en excel apellidos y nombres?

En resumen, elige el método según tu volumen de datos y formato: Relleno Rápido para listas cortas y manuales, fórmulas para automatización reproducible, TEXTO.DIVIDIR si tienes Excel 365, o una macro VBA cuando los formatos sean irregulares. En todos los casos, aplica ESPACIOS() al final para un resultado limpio y consistente.

Fuentes: soporte.microsoft.com, exceljet.net, contexturesblog.com
4.2 / 5 · 51 valoraciones Valorar
Más preguntas de ofimatica
De otras categorías