



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

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
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
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)))


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 Carmen,
El error #¿NOMBRE? se debe generalmente al nombre de una función que está mal escrito. Revisa la función anidada.
Saludos.
La función aca esta ; cambia en tu maquina todas las ; por ,
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.
Perfecto!
No me funcionó, no se porque, me dice que debo colocar al inicio un apostrofe antes de =. Pará que me dé = 1+1
Hola Ana,
Revisa o copia la fórmula que esté igual.
Saludos.
=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
buenos días excelente aporte
=DERECHA(A7,LARGO(A7)-LARGO(IZQUIERDA(A7,HALLAR(" ",A7,HALLAR(" ",A7)+SI(LARGO(A7)-LARGO(SUSTITUIR(A7," ",""))>2,1,0))))) & " " & IZQUIERDA(A7,HALLAR(" ",A7,HALLAR(" ",A7)+SI(LARGO(A7)-LARGO(SUSTITUIR(A7," ",""))>2,1,0)))
ahi esta depurada la formula
con ,
excelente aporte
Gracias Raul, me sirvio de mucho.
Saludos.!!!
Excelente, muchas gracias
Esta formula me funcionó perfecto cuando son dos nombres y apellidos. Gracias por compartirla
Aun así copiada la formula aparece el error de 1+1
Hola Antonio,
Puede que según el idioma tengas que cambiar (;) por (,) y revisa que esté escrito igual.
Saludos.
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 Ariel,
La función SUSTITUIR en inglés es SUBSTITUTE. Pero si lo que deseas es quitar lo espacios aplica la función ESPACIOS (TRIM).
Saludos.
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)))
si tengo dos nombres solo mueve un apellido
Hola Ana,
Revisa las respuestas.
Saludos
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 Jose,
>2 representa el número de caracteres que incluyen espacios.
Saludos.
Si me dí cuenta, muchas gracias,jugué con los valores de la formula y me dió este resultado
>2;1;0)= 1 nombre
>2;2;0)= 2 nombres..etc.tec.
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 Sider,
Siento no poder ayudarte más, revisa la fórmula escrita.
Saludos.
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)))
Hola!!
Mil gracias!, me sirvió como no tienes una idea, de verdad. Gracias!!
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?
Hola Cristian,
Prueba la fórmula: =DERECHA(A1;36)&" "&EXTRAE(A1;HALLAR("//";A1;3)+3;31)&" "&IZQUIERDA(A1;39)
Saludos.
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,
Aplicar una fórmula que sea operativa para todos los supuestos es imposible ya que no hay forma se saber si es nombre compuesto o apellido compuesto...
Saludos.
Algún amigo(a) a parte en este chat me podria dar alguna solución. 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)))
Muchas gracias me sirvio el apoyo muchas gracias
MIL GRACIAS JOSÉ!!! ERA JUSTO LO QUE NECESITABA!!!!
perfecto. Muchas gracias!! Funciona cuando los nombres son compuestos por mas de dos palabras.
=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
Hola Karina,
La fórmula es correcta según la pones aquí. Recuerda que en inglés (') y en español es (") igual que (;) y (,).
Saludos
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 Carlos,
Revisa el comentario de Mario Fernando. Y copia y pega la fórmula en el rango deseado.
Saludos.
Hola disculpen, tengo por ejemplo Estudiante Eugenia Cardozo, como puedo ordenar para que me salga
Cardozo Eugenia, Estudiante.
Gracias Saludos!
Se complican la vida..... con VBA se resuelve y muy rápido.
Que fórmula podría utilizar para cambiar dos apellidos y dos nombres?
Hola Victor,
Revisa los comentarios.
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)))
Muchas gracias por esta valiosa aportación