Texto a valor numerico

29/07/2007 - 04:19 por Gerardo Roda | Informe spam
Hola a todos, tengo una pregunta que tratare de hacerla lo mas simple
posible.
Tengo una planilla excel importada de un Txt, producto de un Ocr.
Resulta que en la columna donde se supone que voy a tener valores numericos
tengo un texoto tipo
" 12.456,87" sin las comillas. Resulta que tiene espacios al principio,
tiene punto en el medio (y es mi separador de decimales) y tambien un coma.
Mi pregunta es: Cual es la manera mas sencilla de convertir ese texto a
numero 12456.87 ?
Un apunte, son tipo mil celdas a convertir.-

Gracias

Preguntas similare

Leer las respuestas

#11 KL
29/07/2007 - 23:34 | Informe spam
Hola HM

"Héctor Miguel" wrote
1) mi sistema usa como separadores: miles=coma, decimales=punto [asumo
que]... similar a OP -?-

2) el metodo *manual* me presento las siguientes *inconsistencias*


...

Eso de las versiones locales de Office (y/o Windows) esta siendo una
pesadilla ultimamente :-o

Salvo el caso de "1.234.567,89" que es de esperar que quede en la primera
columna por no tener espacios delante, todos tus ejemplos me funcionan a la
perfeccion en:

1) Windows Vista Business Eng + Office 2007 Ultimate Eng: por macro
2) (VMWare) Windows XP SP2 Eng + Office 2003 Pro Eng: manual y por macro
3) (VMWare) Windows XP SP2 Eng + Office 2003 Pro MUI (Esp): manual y por
macro
4) (VMWare) Windows XP SP2 MUI (Esp) + Office 2003 Pro MUI (Esp): manual y
por macro

He comprobado que la presencia del caracter 160 no incide en el resultado
final.

Saludos,
KL
Respuesta Responder a este mensaje
#12 KL
29/07/2007 - 23:51 | Informe spam
Hola Xavier,

"Xavier Budet Graco" wrote in message
news:
Hola KL, gracias por el interés. Con respecto a la primera fórmula del
apartado 4 envío 2 imágenes (pido disculpas a los demás) para que veas el
resultado.

En la segunda fórmula si tiene como separador de miles el "." y la "," para
decimales me da #¡VALOR! y si tiene los separadores al contrario convierte a
número sin espacios pero sin decimales.


Vale, ya lo tengo!

1) A la primera formula le sobraba un ;"") - que me habia quedado despues de
retocar la formula directamente en el mensaje

=--SUSTITUIR(SUSTITUIR(SUSTITUIR(SUSTITUIR(LIMPIAR(ESPACIOS(A1));CARACTER(160);"");CARACTER(127);"");".";"");",";".")

2) Vamos a ver. Estas formulas estan hechas para un caso concreto (que
incluye la configuracion del sistema y el formato de los numeros-texto). Es
normal que te de #¡VALOR! cuando aplicas la formula tal cual. Y tambien es
normal que la formula no funcione correctamente si solamente inviertes el
formato de los numeros-texto sin retocar la formula. Si vas a usar la
formula-texto tipo " 12,456.87" (nota que he invertido los separadores
respecto al ejemplo de Gerardo), entonces usa la siguiente formula:

=--SUSTITUIR(SUSTITUIR(SUSTITUIR(SUSTITUIR(LIMPIAR(ESPACIOS(A1));CARACTER(160);"");CARACTER(127);"");",";"");".";",")

A ver si hemos vuelto a dar con alguno de los multiples problemas de
localizacion del software :-)

Saludos,
KL
Respuesta Responder a este mensaje
#13 Héctor Miguel
30/07/2007 - 00:14 | Informe spam
hola, KL !

Eso de las versiones locales de Office (y/o Windows) esta siendo una pesadilla ultimamente :-o



es cierto, creo que las mas frecuentes involucran: fechas, textboxes, separadores y referencias de estilo NO-A1
generalmente trato de saltarlas buscando/usando estandares o convencionalismos US
para llevar la fiesta lo mas en paz posible [sobre todo con vba] ;)

Salvo el caso de "1.234.567,89" que es de esperar que quede en la primera columna por no tener espacios delante



caso que fue posible de *manejar* con la otra version de macro ;)

todos tus ejemplos me funcionan a la perfeccion en:
1) Windows Vista Business Eng + Office 2007 Ultimate Eng: por macro
2) (VMWare) Windows XP SP2 Eng + Office 2003 Pro Eng: manual y por macro
3) (VMWare) Windows XP SP2 Eng + Office 2003 Pro MUI (Esp): manual y por macro
4) (VMWare) Windows XP SP2 MUI (Esp) + Office 2003 Pro MUI (Esp): manual y por macro
He comprobado que la presencia del caracter 160 no incide en el resultado final.



ya probaste alternando los separadores por omision en la configuracion regional ?
[aunque no se si *la manzanita* tome precedencia sobre las VM] -?-

saludos,
hector.
Respuesta Responder a este mensaje
#14 KL
30/07/2007 - 00:41 | Informe spam
Hola HM,

"Héctor Miguel" wrote

ya probaste alternando los separadores por omision en la configuracion
regional ?
[aunque no se si *la manzanita* tome precedencia sobre las VM] -?-



Y eso para que? Si al parecer Gerardo dice que justo tiene los separadores
tal como los tengo yo (version US)
Si te refieres a que el sistema puede que tenga configurado espacio como
separador de miles, entonces no me extrañaria que hubiese problemas, pero...

Estoy de acuerdo con el resto, aunque siempre he pensado que la
funcionalidad Text to Columns existia justo para solucionar los problemas de
distintas plataformas. En fin :-/

Saludos,
KL
Respuesta Responder a este mensaje
#15 Xavier Budet Graco
30/07/2007 - 09:34 | Informe spam
Hola KL, pués sí, ahora funciona correctamente.

Espero que le sirva a Gerardo (la que hemos liado!), a mí me ha ido bien.

Gracias y saludos,

Xavier

Quitar MAC para contestar. Gracias.

"KL" escribió en el mensaje news:
Hola Xavier,

"Xavier Budet Graco" wrote in message
news:
Hola KL, gracias por el interés. Con respecto a la primera fórmula del
apartado 4 envío 2 imágenes (pido disculpas a los demás) para que veas el
resultado.

En la segunda fórmula si tiene como separador de miles el "." y la "," para
decimales me da #¡VALOR! y si tiene los separadores al contrario convierte a
número sin espacios pero sin decimales.


Vale, ya lo tengo!

1) A la primera formula le sobraba un ;"") - que me habia quedado despues de
retocar la formula directamente en el mensaje

=--SUSTITUIR(SUSTITUIR(SUSTITUIR(SUSTITUIR(LIMPIAR(ESPACIOS(A1));CARACTER(160);"");CARACTER(127);"");".";"");",";".")

2) Vamos a ver. Estas formulas estan hechas para un caso concreto (que
incluye la configuracion del sistema y el formato de los numeros-texto). Es
normal que te de #¡VALOR! cuando aplicas la formula tal cual. Y tambien es
normal que la formula no funcione correctamente si solamente inviertes el
formato de los numeros-texto sin retocar la formula. Si vas a usar la
formula-texto tipo " 12,456.87" (nota que he invertido los separadores
respecto al ejemplo de Gerardo), entonces usa la siguiente formula:

=--SUSTITUIR(SUSTITUIR(SUSTITUIR(SUSTITUIR(LIMPIAR(ESPACIOS(A1));CARACTER(160);"");CARACTER(127);"");",";"");".";",")

A ver si hemos vuelto a dar con alguno de los multiples problemas de
localizacion del software :-)

Saludos,
KL

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida