jueves, 21 de mayo de 2015

La función TEXTO: Luchando con los números como texto...

Cuántas veces nos hemos encontrado con valores numéricos (normalmente exportados desde algún otro sistema de gestión) que nos aparecen como texto??. Y cuántas veces nos han complicado nuestras búsquedas verticales o relaciones entre diferentes orígenes??
Voy a plantear hoy una solución a este problema con la función TEXTO.


Partamos del siguiente planteamiento. Tenemos una serie de valores de los que queremos recuperar la descripción... con el problema que algunos de los códigos 'numéricos' aparecen como texto... de igual forma que los que tenemos en la tabla a completar. Lo vemos en la imagen:



Es bien sabido que existen algunas formas de convertir valores como texto en numéricos:
1- multiplicando por 1: =A2*1
2- sumando más 0: =A2+0
3- empleando el doble negativo: =--A2
4- utilizar la función VALOR: =VALOR(A2)

todas ellas muy sencillas y prácticas...


En el caso que nos aplica, al existir tanta variedad y coexistir datos numéricos y números como texto, tanto en la tabla principal como en la auxiliar de donde tomaremos los datos, no es tan directo como aplicar alguna de estas técnicas.. por lo que emplearemos la función TEXTO y además una de las cuatro técnicas descritas.
En concreto, la fórmula que buscamos es:
=SI.ERROR(BUSCARV(TEXTO(A2;"0");$E$2:$F$5;2;0);BUSCARV(--A2;$E$2:$F$5;2;0))

La función TEXTO: Luchando con los números como texto...



El sentido, o la forma de leer, esta fórmula sería que realizamos una búsqueda vertical del valor numérico convertido a texto:
BUSCARV(TEXTO(A2;"0");$E$2:$F$5;2;0)
si no encuentra el valor convertido a texto, puede ser porque en la tabla auxiliar aparezca como número; por tanto, con la función SI.ERROR controlamos el caso y realizamos la búsqueda con el valor como número:
BUSCARV(--A2;$E$2:$F$5;2;0)

Obviamente sólo tenemos dos posibilidades, el valor como texto o como número; y esto queda recogido con la fórmula vista.

No hay comentarios:

Publicar un comentario en la entrada