9 maneras de separar nombres y apellidos en Microsoft Excel

Excel Microsoft
Excel Microsoft

Los conjuntos de datos que contienen nombres de personas suelen tener el nombre y el apellido en una sola celda, separados por un espacio. Aunque esto no es necesariamente un problema, puede ser más útil tener el nombre y el apellido en columnas diferentes. De este modo, podrá realizar análisis adicionales sobre los datos, como ordenar y filtrar solo por apellido, con mayor facilidad.

1. Separar nombres y apellidos con Convertir en columnas

Cuando necesite dividir nombres y apellidos en sus datos de forma ocasional, «Convertir en columnas» debería ser su método preferido. La función «Convertir en columnas» le permitirá dividir los nombres en un nuevo rango o sobrescribir los datos actuales. Lo que prefiera.

Esto es lo más adecuado para casos de uso puntuales, ya que tendrá que volver a ejecutar la división de texto en columnas por cada nuevo nombre que se añada a la lista.

Así es como se utiliza «Convertir en columnas» para separar nombres y apellidos:

  1. Seleccione el rango de nombres que desea dividir.
  2. Vaya a la pestaña «Datos».
  3. Haga clic en el comando «Convertir en columnas» en la sección «Herramientas de datos».
  4. Seleccione la opción «Delimitado» para dividir sus nombres.
  5. Anule la selección de la opción predeterminada «Tabulación» y seleccione «Espacio».
  6. Seleccione una celda para «Destino».
  7. Haga clic en «Finalizar».

Excel dividirá los nombres basándose en el espacio que los separa y colocará los resultados en la ubicación deseada.

2. Separar nombres y apellidos con una fórmula de texto

Otra forma de obtener el nombre y el apellido de su conjunto de nombres completos es utilizar una combinación de funciones de texto para analizar cada nombre.

Puede utilizar las funciones «IZQUIERDA» y «DERECHA» para obtener el número deseado de caracteres desde el principio o el final de cualquier valor de texto. Puede utilizarlas junto con la función «HALLAR» para obtener la posición del carácter de espacio y la función «LARGO» para obtener el número total de caracteres del nombre.

Obtener el nombre

= IZQUIERDA ( B3, HALLAR ( " ", B3 ) - 1 )

La fórmula anterior extraerá el nombre de la descripción completa del nombre en la celda B3. La función «HALLAR» encontrará la posición del primer carácter de espacio. Al restar 1 a este resultado, obtendrá la posición del último carácter del nombre. La función «IZQUIERDA» utiliza entonces este valor para devolver estos primeros caracteres del nombre.

Obtener el apellido

= DERECHA ( B3, LARGO ( B3 ) - HALLAR ( " ", B3 ) )

La fórmula anterior obtendrá el apellido de la descripción completa del nombre en la celda B3. La función «LARGO» obtiene el recuento total de caracteres del nombre completo. La función «HALLAR» obtiene la posición del carácter de espacio que separa el nombre y el apellido. Al restar el número total de caracteres del nombre de la posición del carácter de espacio, obtiene el número de caracteres del apellido. Esta información se utiliza luego en la función «DERECHA» para extraer el apellido.

3. Separar nombres y apellidos con la función FILTERXML

Una forma ingeniosa de dividir texto basándose en el carácter de espacio es utilizando la función «FILTERXML». Está pensada para permitirle extraer partes específicas de datos XML basándose en el nombre del nodo.

Pero puede utilizarla para extraer nombres creando primero los datos XML a partir de su nombre.

= TRANSPONER ( FILTERXML ( "<t><s>" & SUSTITUIR ( B3," ","</s><s>")&"</s></t>","//s"))

La fórmula anterior dividirá el nombre completo en la celda B3 en nombre y apellido.

La función «SUSTITUIR» se utiliza para sustituir el espacio por un texto como el anterior. Esto crea una estructura de datos XML y puede utilizar la función «FILTERXML» para extraer cada uno de los nombres.

Obtener solo el nombre

= FILTERXML ( "<t><s>" & SUSTITUIR ( B3, " ", "</s><s>" ) & "</s></t>", "//s[1]" )

La versión anterior de la fórmula FILTERXML devolverá solo el nombre. El filtro //s[1] devolverá solo el primer elemento en una etiqueta s.

Obtener solo el apellido

= FILTERXML ( "<t><s>" & SUSTITUIR ( B3, " ", "</s><s>" ) & "</s></t>", "//s[2]" )

De manera similar, la fórmula anterior utiliza el filtro //s[2] para devolver el segundo elemento en una etiqueta s, que es el apellido.

4. Separar nombres y apellidos con la función TEXTSPLIT

Si tiene una versión más reciente de Excel, puede evitar soluciones complejas con fórmulas porque existe una función dedicada para dividir texto.

Puede utilizar la función «TEXTSPLIT» para dividir un valor de texto basándose en un carácter delimitador.

Esto significa que puede utilizar el carácter de espacio como delimitador para separar el nombre y el apellido.

= TEXTSPLIT ( B3, " " )

La fórmula anterior dividirá el nombre en la celda B3 basándose en el carácter de espacio. ¡Es una de las formas más sencillas de conseguirlo!

5. Separar nombres y apellidos con Relleno rápido

«Relleno rápido» es una forma práctica de transformar sus datos basándose en ejemplos. Proporcione algunos ejemplos de los resultados que desea en la columna adyacente y «Relleno rápido» determinará el patrón y completará el resto.

Esto puede separar fácilmente sus nombres cuando proporcione los resultados de ejemplo.

Aquí se explica cómo funciona:

  1. Escriba algunos nombres por sí solos en las celdas a la derecha del nombre completo correspondiente.
  2. Esto debería activar «Relleno rápido» y verá los resultados sugeridos en gris claro. Pulse «Intro» para aceptar estos resultados e introducirlos en las celdas.
  3. Si «Relleno rápido» no se activa automáticamente después de las primeras dos o tres entradas, tendrá que activarlo manualmente.
  4. Seleccione la primera celda vacía debajo de sus ejemplos de nombres.
  5. Vaya a la pestaña «Datos» y haga clic en el comando «Relleno rápido» en la sección «Herramientas de datos».
  6. Repita el proceso en la siguiente columna para obtener los apellidos.

6. Separar nombres y apellidos con Power Query

Power Query es una herramienta fantástica para transformar sus datos de prácticamente cualquier forma que pueda imaginar. Dividir sus nombres es una tarea sencilla para Power Query.

Power Query será sin duda el camino a seguir para su tarea de obtener el nombre y el apellido en celdas separadas si desea un proceso repetible para importar y transformar sus datos en Excel.

Antes de utilizar Power Query, deberá añadir sus datos de nombres a una Tabla de Excel.

Así es como se utiliza Power Query para dividir los nombres de su tabla:

  1. Vaya a la pestaña «Datos».
  2. Haga clic en el comando «Desde la tabla/rango».
  3. Esto abrirá el editor de Power Query.
  4. Haga clic con el botón derecho en el encabezado de la columna que contiene los nombres a dividir y seleccione «Dividir columna».
  5. Elija la opción «Por delimitador» en el submenú.
  6. Seleccione «Espacio» en el menú desplegable «Seleccionar o introducir delimitador».
  7. Pulse el botón «Aceptar».

Ahora tendrá dos columnas nuevas con el nombre y el apellido separados.

7. Separar nombres y apellidos con Power Pivot

Si está analizando datos que incluyen un nombre completo, es posible que desee dividir los nombres utilizando Power Pivot.

El modelo de datos de Power Pivot puede contener un gran número de filas en memoria, por lo que es perfecto para trabajar con cualquier conjunto de datos enorme.

Una vez que haya cargado su conjunto de datos en el modelo de datos, puede añadir columnas adicionales con cálculos utilizando el lenguaje de fórmulas DAX.

El lenguaje de fórmulas DAX tiene muchas funciones comunes con Excel y, en este caso, las funciones utilizadas serán exactamente las mismas que las funciones de texto vistas anteriormente.

Puede añadir sus datos al modelo de datos. Seleccione una celda dentro de la tabla que contenga sus nombres y vaya a la pestaña «Power Pivot» y, a continuación, haga clic en la opción «Añadir al modelo de datos».

Esto abrirá el editor de Power Pivot con la tabla cargada en el modelo.

Puede añadir nuevas columnas haciendo clic en el encabezado «Añadir columna» a la derecha de sus datos.

= IZQUIERDA ( Names[Full Name], HALLAR ( " ", Names[Full Name] ) - 1 )

La fórmula anterior obtendrá el nombre para toda la columna.

= DERECHA ( Names[Full Name], LARGO ( Names[Full Name] ) - HALLAR ( " ", Names[Full Name] ) )

La fórmula anterior devolverá el apellido para toda la columna.

Ahora podrá utilizar estas columnas calculadas en una Tabla dinámica.

8. Separar nombres y apellidos con VBA

Quizás necesite separar nombres con frecuencia y desee una solución de un solo clic para ello.

VBA podría ser la mejor solución para usted.

Puede añadir una macro a su hoja de cálculo que dividirá los nombres en columnas adyacentes.

Esto se puede ejecutar añadiendo la macro a la Barra de acceso rápido para que siempre esté disponible para usarla con un solo clic.

Así es como:

  1. Vaya a la pestaña «Desarrollador» y haga clic en el comando «Visual Basic».
  2. Cree un nuevo módulo en el editor de Visual Basic y añada el siguiente código:
Sub SplitNames()
Dim rng As Range
Dim arrNames() As String
Dim colCount As Integer
colCount = Selection.Columns.Count
If colCount <> 1 Then
MsgBox ("Select a single column!")
End
End If
For Each rng In Selection
arrNames = Split(rng.Value, " ")
rng.Offset(0, 1).Value = arrNames(0)
rng.Offset(0, 2).Value = arrNames(1)
Next rng
End Sub

Este código primero comprueba que ha seleccionado solo un rango de una sola columna. Si ha seleccionado varias columnas, le avisará para que seleccione una sola columna y detendrá la ejecución.

Cuando se selecciona una sola columna, el código recorrerá el rango seleccionado y dividirá cada celda basándose en el carácter de espacio.

La primera y segunda parte de los nombres divididos se introducen en las celdas directamente a la derecha de su selección original.

Una vez que haya seleccionado sus nombres y ejecutado el código, tendrá el nombre y el apellido divididos en Excel.

9. Separar nombres y apellidos con Office Scripts

Si utiliza principalmente Excel en línea, deberá utilizar Office Scripts para crear código personalizado para separar sus nombres.

Puede crear un script de Office similar:

  1. Vaya a la pestaña «Automatizar» y haga clic en el comando «Nuevo script» para abrir el editor «Code Editor» para Office Scripts.
  2. Añada el siguiente código al editor:
    function main(workbook: ExcelScript.Workbook) {
    //getselected range
    let rng = workbook.getSelectedRange();
    let rows = rng.getRowCount();
    let cols = rng.getColumnCount();
    if (cols != 1) {
    return;
    };
    //loop through selected cells
    for (let i = 0; i < rows; i++) {
    for (let j = 0; j < cols; j++) {
    //split name based on space
    let txtName = rng.getCell(i, j).getValue().toString();
    let arrName = txtName.split(" ");
    //enter names in adjacent cells
    rng.getCell(i, j + 1).setValue(arrName[0]);
    rng.getCell(i, j + 2).setValue(arrName[1]);
    };
    };
    };
    

Añada el código al editor «Code Editor» y pulse el botón «Guardar».

  1. Ahora puede seleccionar un rango de una sola columna de nombres en su hoja de Excel y pulsar el botón «Ejecutar».
  2. El código comprobará si su selección es una sola columna y detendrá la ejecución del código en caso contrario.

Si no, el código continuará y recorrerá sus celdas seleccionadas para dividir los nombres. El nombre y el apellido se añadirán en las columnas a la derecha de su selección.

Conclusiones

Muchos conjuntos de datos incluirán un campo de nombre. A veces, esto se presentará como un nombre completo en una sola celda y tendrá que separar el nombre en sus componentes de nombre y apellido. «Convertir en columnas» o «Relleno rápido» resolverán el problema en unos sencillos pasos y son perfectos para esos usos puntuales.

Una solución con fórmula representa una solución más dinámica, más adecuada cuando el conjunto de datos de origen añadirá o modificará nombres. La fórmula que utilice dependerá de las funciones disponibles en su versión de Excel. Para conjuntos de datos más grandes o conjuntos de datos externos que necesiten ser importados primero en Excel, la solución Power Query o Power Pivot funcionará mejor. ¿Alguna vez ha necesitado separar nombres? ¿Cómo lo resolvió? ¡Háganoslo saber en los comentarios de abajo!

Pubblicato in

Se vuoi rimanere aggiornato su 9 maneras de separar nombres y apellidos en Microsoft Excel iscriviti alla nostra newsletter settimanale

Sé el primero en comentar

Deja una respuesta

Tu dirección de correo no será publicada.


*