George a menudo tiene que trabajar con datos proporcionados por otras personas. Al trabajar con estos datos, es posible que deba convertir un nombre, por ejemplo, Joe Bloggs, de modo que el apellido sea primero, como en Bloggs, Joe. George entiende que puede usar una fórmula para invertir el nombre, pero debe hacerlo en la misma celda en la que reside el nombre. Se pregunta si hay un comando integrado que realice esta tarea.

No, no hay un comando integrado para hacerlo. Sin embargo, puede crear una macro que haga el cambio por usted. Esta macro podría asignarse a una tecla de método abreviado o colocarse en la barra de herramientas para poder acceder a ella fácilmente. Aquí hay una macro simple que hará el cambio:

Sub ReverseNames()

Dim c As Range     Dim n As Variant     Dim s As String     Dim j As Integer

For Each c In Selection         n = Split(c, " ")

s = n(UBound(n)) & ","

For j = LBound(n) To UBound(n) - 1             s = s & " " & n(j)

Next j         c.Value = Trim(s)

Next c End Sub

Para usar la macro, simplemente seleccione el rango de celdas que desea afectar y luego ejecútelo. La macro separa el texto de la celda en palabras individuales (separadas por espacios) y luego vuelve a construir el nombre. Manejará bien nombres de dos palabras (como Joe Bloggs), pero también manejará nombres más largos (como Joseph Andrew Bloggs) con la misma facilidad.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (11399) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365. Puede encontrar una versión de este consejo para la interfaz de menú anterior de Excel aquí:

link: / excel-Reversing_Names_In_Place [Invertir nombres en su lugar].