Truco de Excel para separar nombres y apellidos: cómo hacerlo de forma fácil

Aprender a separar nombres y apellidos en Excel es fundamental para sacarle el máximo provecho a esta herramienta. Descubrí cómo hacerlo.

31 de marzo, 2023 | 19.01

Si trabajas usando Excel, o es parte de tu vida cotidiana, seguro necesitarás conocer este truco para separar nombres y apellidos, y así ahorrar tiempo. A continuación te contamos cómo hacerlo paso a paso para ordenar tus planillas.

La dificultad principal de este proceso es que las fórmulas de Excel no están preparadas para comprender la cantidad de variantes que existen en los nombres y apellidos de las personas, por lo cual es necesario analizar cada caso en específico para encontrar el procedimiento adecuado. 

Cómo separar nombres y apellidos de forma fácil 

Si después de hacer una revisión de los datos te das cuenta que en la mayoría de los casos tenes nombres de una sola palabra así como apellidos de una sola palabra, entonces te recomendamos utilizar el asistente para convertir texto en columnas. Esta función podes encontrarla en Datos y Herramientas de Datos. A continuación podrás elegir el espacio como separador entre los datos que se pondrán en diferentes columnas. Un beneficio de este método es que no importa si los datos comienzan por los apellidos o por los nombres ya que de igual manera se realizará la separación por palabras.

Cómo separar los apellidos compuestos

Los apellidos compuestos que podemos detectar fácilmente son aquellos que comienzan por palabras como “de”, “del”, “la”, “las”, “los”, “san”. Si el apellido no contiene estas palabras, será prácticamente imposible saber si dos o más palabras forman un solo apellido.
La fórmula más adecuada es:

Function SEPARARAPELLIDOS(rng As Range) As String
 
Dim nombreArr() As String
Dim nuevaCadena As String
Dim i As Integer
 
'Dvidir el nombre por palabras en un arreglo
nombreArr = Split(Trim(rng.Value))
 
'Analizar cada palabra dentro del arreglo
For i = 0 To UBound(nombreArr)
    Select Case LCase(nombreArr(i))
         
        'Palabras que forman parte de un apellido compuesto
        'Agregar nuevas palabras separadas por una coma
        Case "de", "del", "la", "las", "los", "san"
            'Insertar espacio en blanco
            nuevaCadena = nuevaCadena & nombreArr(i) & " "
        Case Else
            'Insertar caracter delimitador
            nuevaCadena = nuevaCadena & nombreArr(i) & "@"
     
    End Select
Next
 
'Remover el último caracter delimitador de la cadena
If Right(nuevaCadena, 1) = "@" Then
    nuevaCadena = Left(nuevaCadena, Len(nuevaCadena) - 1)
End If
 
SEPARARAPELLIDOS = nuevaCadena
 
End Function"

Una vez colocada, esta función nos arrojará un resultado similar a "guillermo@deltoro": el @ nos servirá para separar nombres de apellidos, por lo cual deberemos aplicar la misma fórmula que en el paso anterior. A través de Datos, Herramientas de Datos y el Asistente para convertir textos en columnas, elegiremos como caracter delimitador el @.