martes, 27 de enero de 2015

No consigo convertir texto a número

¿Que me pasa?¿Que estoy haciendo mal?¿Por qué? ¿Que leches pasa? No me funciona, etc...

Suelo salir a la montaña con mi GPS. Después de una ruta montañera paso al ordenador la ruta, con MapSource, y hago mis propias estadísticas. Últimamente además de subir las rutas a Wikiloc las subo a http://www.ibpindex.com/, que tiene unas estadísticas mas completas. Para comparar ambas estadísticas quiero pasar los datos de IBPINDEX a un libro excel para comparar comodamente estadísticas y lo bajado de la web. Teoricamente todo fácil, pero, siempre hay un pero, no consigo convertir los valores de texto a valor numerico.

  1. Como siempre que me pasan estas cosas, encorseto entre asteriscos el valor a trasformar, con ="*"& C1 &"*".
  2. Efectivamente aparece un carácter por delante del número. De momento parece un espacio.
  3. Con ctrl+l o entrando en Edición->reemplazar intento eliminar ese espacio. Pongo un espacio en Buscar y nada en reemplazar, doy reemplazar todo y nada, no consigo mi objetivo. 
  4. Sigo en reemplazar, copio ese carácter desconocido en la casilla Buscar y dejo sin nada en reemplazar y ¡por fin! consigo algo.
  5. Como excel es como es, corrijo un error pero se produce otro. Me trasforma  40.5750652 en  405750652.
  6. Deshago la primera operación, reemplazo los "." por comas y el carácter desconocido por un caracter nulo ("").
  7. Por fin consigo trasformar a número el texto.
  8. Continuo indagando, separo ese carácter, en la celda B1, con =IZQUIERDA(A1;1), aunque para lo que voy a hacer a continuación no es del todo necesario.
  9. Utilizo =CODIGO(b1) para intentar conocer el carácter ignoto. ¡Bingo! el carácter es el ASCII 160, que a su vez equivale al  &nbsp del código Html.

En este caso, la manera mas sencilla de trasformar los valores en texto a valor númerico es reemplazar todos los puntos por comas y todos los ASCII 160 por nada o por un espacio de barra espaciadora (ASCII 32). Hay otras opciones para eliminar esos primeros caracteres (contemplado además  el cambio de punto por coma), como por ejemplo utilizar Datos->Texto en columnas pero creo que la manera mas sencilla es reemplazar esos caracteres, según lo dicho.

¿Como importo una página web a Excel?:

  • Con copia pega.
  • En, para windows XP, Inicio->Ejecutar escribimos: excel -e http://www.ibpindex.com/ibpindex/ibp_listadepuntos.php?REF=36314455664614&MOD=HKG&LAN=es&SMD=m
  • Desde Excel: Archivo->Abrir y ponemos l dirección (URL) en nombre de archivo.