Invertir texto nombre y apellidos en Excel

Compatibilidad: Excel 365 2021 2019 2016

En ocasiones necesitamos invertir texto nombre y apellidos en Excel o a la inversa.

Invertir texto nombre y apellidos en Excel

Emplearemos las siguientes funciones anidándolas:

  • Función DERECHA. Devuelve el número especificado de caracteres del final de una cadena de texto.

  • Función LARGO. Devuelve el número de caracteres de una cadena de texto.

  • Función IZQUIERDA. Devuelve el número especificado de caracteres al inicio de una cadena de texto.

  • Función HALLAR. Devuelve el número de carácter en el que se encuentra un carácter o una cadena de texto en particular, leyendo de izquierda a derecha.

  • Función SUSTITUIR. Reemplaza el texto existente con texto nuevo en una cadena.

  • Función SI. Comprueba si se cumple una condición y devuelve un valor si se evalúa como verdadero y otro si se evalúa como falso.

En la celda A1 disponemos del valor Juan García Ramos y deseamos cambiar el formato a García Ramos, Juan (con o sin coma). El método no es aplicable a nombres y apellidos compuestos.

La función también es aplicable para invertir de apellidos nombre a nombre apellidos.

  • APELLIDOS NOMBRE

  1. Ir a: Celda B1 / Escribir:

    =DERECHA(A1;LARGO(A1)-LARGO(IZQUIERDA(A1;HALLAR(" ";A1;HALLAR(" ";A1)+SI(LARGO(A1)-LARGO(SUSTITUIR(A1;" ";""))>2;1;0))))) & " " & IZQUIERDA(A1;HALLAR(" ";A1;HALLAR(" ";A1)+SI(LARGO(A1)-LARGO(SUSTITUIR(A1;" ";""))>2;1;0)))
  • APELLIDOS COMA (,) NOMBRE

  1. O también para incluir la coma (,) Ir a: Celda B1 / Escribir:

    =DERECHA(A1;LARGO(A1)-LARGO(IZQUIERDA(A1;HALLAR(" ";A1;HALLAR(" ";A1)+SI(LARGO(A1)-LARGO(SUSTITUIR(A1;" ";""))>2;1;0))))) & ", " & IZQUIERDA(A1;HALLAR(" ";A1;HALLAR(" ";A1)+SI(LARGO(A1)-LARGO(SUSTITUIR(A1;" ";""))>2;1;0)))
Nivel de dificultad: Avanzado Excel Avanzado

49 comentarios en “Invertir texto nombre y apellidos en Excel

  • Hola, he encontrado esta regla que es la que quiero utilizar para invertir nombre y apellidos. Al indicarla me arroja el error #¿NOMBRE?. No se que puede ocurrir. Por favor ¿me ayudáis? Muchas gracias.

  • Hola que tal, esto esta bien para un solo nombre, pero en México se usa hasta tres nombres, ¿como sería esta fórmula para poder aplicarlo correctamente?, gracias.

  • =DERECHA(A1;LARGO(A1)-LARGO(IZQUIERDA(A1;HALLAR(" ";A1;HALLAR(" ";A1)+SI(LARGO(A1)-LARGO(SUSTITUIR(A1;" ";""))>2;1;0))))) & " " & IZQUIERDA(A1;HALLAR(" ";A1;HALLAR(" ";A1)+SI(LARGO(A1)-LARGO(SUSTITUIR(A1;" ";""))>2;1;0)))

    buenos dias
    yo use esta formula , lo unico es cambiar ; por , y me funciono bien.
    slds

  • Hola, qué tal? En las fórmulas sustituir (tengo el excel en inglés, que entiendo que la traducción sería replace, correcto?) me dice que replace(A1," ","") tiene muy pocos argumentos. Qué puede ser?

    • Hola!

      Violeta puso la formula correcta en ingles y a mi me funciono de maravilla, te la comparto.

      =RIGHT(A1,+LEN(A1)-LEN(LEFT(A1,SEARCH(" ",A1,SEARCH(" ",A1)+IF(LEN(A1)-LEN(SUBSTITUTE(A1," ",""))>2,1,0))))) & " " & LEFT(A1,SEARCH(" ",A1,SEARCH(" ",A1)+IF(LEN(A1)-LEN(SUBSTITUTE(A1," ",""))>2,1,0)))

  • Hola saludos,mi pregunta es,cuando te pide la prueba lógica >2;1;0..exactamente que indican estos números
    >2 entonces el uno, y si no el cero

  • Hola buenos días, Vieras que utilice la fórmula para invertir los apellidos y nombres pero resulta que lo que me da de resultado es la primer letra del nombre al final, y ya lo he revisado detenidamente y no se que sera el problema, será, me puedan ayudar con este asunto, gracias

  • HOLA! MIL GRACIAS POR LA FORMULA, CAMBIE DE ESPAÑOL A INGLES Y EN VEZ DE ; USE SOLO , .
    Se las comparto.
    Saludos
    =RIGHT(A1,+LEN(A1)-LEN(LEFT(A1,SEARCH(" ",A1,SEARCH(" ",A1)+IF(LEN(A1)-LEN(SUBSTITUTE(A1," ",""))>2,1,0))))) & " " & LEFT(A1,SEARCH(" ",A1,SEARCH(" ",A1)+IF(LEN(A1)-LEN(SUBSTITUTE(A1," ",""))>2,1,0)))

  • Buenas noches,

    Tengo una pregunta ¿si tengo los siguientes datos; 04/03/2020: Se recibe correspondencia // 28/02/2020 Se recibe respuesta // 20/02/2020: Se realiza notificación, pero necesito que la última fecha quede de primeras qué formula debo usar?
    Es decir, que quede así: Lo necesito asi: 20/02/2020: Se realiza notificación // 28/02/2020 Se recibe respuesta // 04/03/2020: Se recibe correspondencia

    Y en caso de ser mas fechas. cual formula?

  • la formula me separa con 2 nombres pero tengo mi listado con 3 nombres como lo arreglo por que me sale el tercer nombre primero y despues el apellido:
    este es mi caso
    Camila Lourdes Claudia MERMA SANCHEZ
    por favor que mas modifico en la formula
    =DERECHA(A1;LARGO(A1)-LARGO(IZQUIERDA(A1;HALLAR(" ";A1;HALLAR(" ";A1)+SI(LARGO(A1)-LARGO(SUSTITUIR(A1;" ";""))>2;1;0))))) & ", " & IZQUIERDA(A1;HALLAR(" ";A1;HALLAR(" ";A1)+SI(LARGO(A1)-LARGO(SUSTITUIR(A1;" ";""))>2;1;0)))

    • Hola Mijail,

      El método mediante funciones funciona correctamente para nombres y apellidos que no sean compuestos. En caso contrario la única solución será mediante macros y aún así puede presentar algún problema.

      Saludos.

      • MI LISTADO TIENE ESTA ESTRUCTURA:
        Gabriela Xiomara De Fatima HERNANDEZ PINTO

        QUIERO QUE SALGA ASI:
        HERNANDEZ PINTO, Gabriela Xiomara De Fatima

        HAY 4 NOMBRES COMO MODIFICO LA FORMULA O QUE FALTA CAMBIAR POR QUE NO ME SALE:
        =DERECHA(AE93;LARGO(AE93)-LARGO(IZQUIERDA(AE93;HALLAR(" ";AE93;HALLAR(" ";AE93)+SI(LARGO(AE93)-LARGO(SUSTITUIR(AE93;" ";""))>2;1;0))))) & ", " & IZQUIERDA(AE93;HALLAR(" ";AE93;HALLAR(" ";AE93)+SI(LARGO(AE93)-LARGO(SUSTITUIR(AE93;" ";""))>2;1;0)))

        POR FAVOR ALGUIEN ME PUEDE APOYAR MANEJO LISTADOS CON 3 Y 4 NOMBRES ME FACILITARIA ORDENARLO POR FAVOR

    • HOLA MIJAIL..
      PRUEVALA ASÍ
      Camila Lourdes Claudia MERMA SANCHEZ
      MERMA SANCHEZ Camila Lourdes Claudia
      =DERECHA(A1;LARGO(A1)-LARGO(IZQUIERDA(A1;HALLAR(" ";A1;HALLAR(" ";A1)+SI(LARGO(A1)
      -LARGO(SUSTITUIR(A1;" ";""))>2;9;0)))))&" "&IZQUIERDA(A1;HALLAR(" ";A1;HALLAR(" ";A1)+SI(LARGO(A1)
      -LARGO(SUSTITUIR(A1;" ";""))>2;9;0)))

  • =DERECHA(A1;LARGO(A1)-LARGO(IZQUIERDA(A1;HALLAR(" ";A1;HALLAR(" ";A1)+SI(LARGO(A1)-LARGO(SUSTITUIR(A1;" ";""))>2;1;0))))) & " " & IZQUIERDA(A1;HALLAR(" ";A1;HALLAR(" ";A1)+SI(LARGO(A1)-LARGO(SUSTITUIR(A1;" ";""))>2;1;0)))

    YO LA PEGO IGUAL Y ME APARECE PONER APÓSTROFO, LE CAMBIE; POR , Y ME SIGUE EL ERROR Y LO TENGO EN ESPAÑOL

  • La Formula sirve, se debe jugar es con la cantidad (2;1;0) para nombres y apellidos , para que se inviertan de manera correcta.

    Aplique esta y me funciono perfecto:

    =+DERECHA(B2;LARGO(B2)-LARGO(IZQUIERDA(B2;HALLAR(" ";B2;HALLAR(" ";B2)+SI(LARGO(B2)-LARGO(SUSTITUIR(B2;" ";" "))>3;2;1)))))& " " & IZQUIERDA(B2;HALLAR(" ";B2;HALLAR(" ";B2)+SI(LARGO(B2)-LARGO(SUSTITUIR(B2;" "; " "))>3;2;1)))

    Gracias

  • TENGO ESTE LISTADO DE NOMBRES Y LA FORMULA NO APLICA PARA TODOS, PUEDO CAMBIAR LA COMBINACION POR CADA UNA PERO EL PROBLEMA ES QUE TENGO QUE REVISAR UN LISTADO DE MAS DE MIL NOMBRES

    nombres y apellidos
    jose la cruz leon baeza
    carmen baeza silva
    miguel de la cruz hernandez gallegos
    carlos de jesus vega izquierdo
    v. exp 1171 g g
    juan perez
    LUIS MIGUEL GONZALEZ DE LA CRUZ
    BASILA ROMERO DE LA CRUZ
    angel enrique de la cruz de la cruz

  • Hola disculpen, tengo por ejemplo Estudiante Eugenia Cardozo, como puedo ordenar para que me salga

    Cardozo Eugenia, Estudiante.

    Gracias Saludos!

  • Este me funcionó, solo tuve que agregar +1 y +1

    =DERECHA(B2;LARGO(B2)-LARGO(IZQUIERDA(B2;HALLAR(" ";B2;HALLAR(" ";B2)+1+SI(LARGO(B2)-LARGO(SUSTITUIR(B2;" ";""))>2;1;0)))))& " "&IZQUIERDA(B2;HALLAR(" ";B2;HALLAR(" ";B2)+1+SI(LARGO(B2)-LARGO(SUSTITUIR(B2;" ";""))>2;1;0)))

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.