Manejar el pegado de decimales con punto (1.7) cuando la configuración regional espera coma (1,7)

Manejar el pegado de decimales con punto (1.7) cuando la configuración regional espera coma (1,7)

Tengo una fuente de datos donde el punto se usa como separador decimal, es decir, 1.49significa "uno y casi medio". No puedo cambiarlo.

Este número debe copiarse y pegarse en una celda numérica en Excel o Calc. El archivo es público y cualquiera puede obtenerlo (Consiguelo aqui) por lo que no tengo control sobre la PC/programa del usuario.

La mayoría de los usuarios son italianos con una configuración regional it_IT, donde los decimales están separados por comas, es decir: 1,49significa "uno y casi medio" (tenga en cuenta la coma en lugar del punto).

Cuando el usuario de configuración regional italiana intenta copiar y pegar 1.49desde la fuente de datos en su celda numérica, Calc/Excel se vuelve loco porque no reconoce el número como decimal.

Si configuro el idioma en el celular, todo funciona.... hasta que cierro el programa. Si abro el documento nuevamente, la configuración se pierde y ya no funciona.

ingrese la descripción de la imagen aquí

Entonces, mi pregunta:

  1. ¿Es posible forzar la configuración regional del archivo/hoja a "en_US", sin importar la configuración regional definida por el usuario?
  2. ¿Es posible hacer que el atributo de idioma se mantenga?
  3. ¿Alguna otra idea? (no "pídale a su usuario que cambie la configuración", por favor)

Prefiero evitar las macros, si es posible.

¡Gracias!

Actualizar: Estoy en Windows 10 x64 y acabo de actualizar a LibreOffice 5.4.4 x64. La configuración de idioma por celda aún no se guarda. Ni siquiera me queda claro si essupuestopara guardar o si es solo una configuración de vista (supongo que es lo primero, ya que el botón de guardar se ilumina cuando lo hago...)

Respuesta1

Mis amigos en TurboLab.itpropuestola mejor solución hasta el momento:

  1. configurar la celda diseñada para aceptar la entrada del usuario como "texto"
  2. en una celda temporal cercana, reemplace el punto con una coma con algo como=SUBSTITUTE(E16;".";",")
  3. hacer los cálculos con el valor reemplazado
  4. reconvertirlo si es necesario

El expediente final, para los interesados,está disponible aquí.

El único inconveniente importante es que esto sólo funciona si el usuario tiene una configuración regional donde la "coma" es el separador decimal, como el italiano.

HTH.

Respuesta2

Solución manual, a repetir cada vez que pegue:

Después de copiar y pegar; las celdas pegadas están seleccionadas...
Utilice inmediatamente Buscar y reemplazar, primero reemplace cualquier "." (separador de miles) por "" (es decir, "nada"), luego reemplace "," (separador de decimales original) por "." el nuevo separador de decimales).

Es posible que necesites usar "Pegado especial" para sumar 0 o multiplicar por 1 para que se interpreten como números.(==> coloque 1 o 0 en cualquier celda, cópielo, luego haga "Pegado especial" y seleccione "agregar valor" o "multiplicar valor").

Automatización: "Grabar una macro", hacer lo anterior, "detener la grabación". Allí también tienes la posibilidad de asignar una tecla de acceso directo.

información relacionada