¿Como puedo obtener los últimos dígitos de una celda? Por ejemplo, JUAN PEREZ GOMEZ S.A. 10.478,78...los dígitos son el importe

Por ejemplo,

JUAN PEREZ GOMEZ S.A. 10.478,78... Los dígitos son el importe que necesito tener en una celda aparte del nombre. Intenté con un derecha y hallar el espacio pero curiosamente me trae desde el punto "." del mil hacia la derecha. Por favor su ayuda urgente.

Esta fórmula estoy usando

RIGHT(D2;SEARCH(" ";D2))

En D2 está la celda con el texto.

2 Respuestas

Respuesta
1

Esto es porque el primer espacio lo encuentra en la posición 5.

Intentalo con esta otra:

=DERECHA(D2;LARGO(D2)-HALLAR(". ";D2)-1)

Le solicito que busque 'punto y espacio' (2 caracteres) por eso al final le resto 1.

Las fórmula en inglés sería:

=RIGHT(D2;LEN(D2)-SEARCH(". ";D2)-1)

Sdos y no olvides valorar esta respuesta.

Elsa

PD) Podés descargar de la sección Funciones de mi sitio la lista completa de funciones en español/inglés.

De todos modos esta fórmula que responde a tu ejemplo, solo será apta para todos aquellos textos que terminen con un punto y espacio.

Otro caso sería si supieras que todas las cifras tienen esa cantidad de caracteres, y lo resolverías con la fórmula:

=RIGHT(D2;9)

Pero como seguramente tendrás gran cantidad de 'casos' diferentes, tendrás que optar por una macro para recorrer la col D.

Entra al Editor de macros (con Alt y F11), inserta un módulo y allí copia lo siguiente:

Sub obtenerCifras()
'x Elsamatilde

'recorre la col D hasta encontrar celda vacía
Range("D2").Select
While ActiveCell <> ""
'deja el resultado en misma fila de la col E
For i = Len(ActiveCell) To 1 Step -1
If Mid(ActiveCell, i, 1) = " " Then
dato = Mid(ActiveCell, i + 1, Len(ActiveCell) - i)
Range("E" & ActiveCell.Row) = dato
Exit For
End If
Next i
'pasa a la fila sgte de la col D
ActiveCell.Offset(1, 0).Select
Wend
End Sub

El resultado se coloca en la misma fila de la col E pero podés ajustar este detalle reemplazando la letra "E" por al que consideres.

Sdos!

Respuesta

Otra posibilidad, usando una fórmula matricial (hay que introducirla pulsando mayúsculas control entrada al mismo tiempo):

=LOOKUP(9.99E+307,1*(RIGHT(D2,ROW(INDIRECT("1:"&LEN(D2))))))

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas