Lidar com a colagem de decimal com ponto (1,7) quando a localidade espera vírgula (1,7)

Lidar com a colagem de decimal com ponto (1,7) quando a localidade espera vírgula (1,7)

Eu tenho uma fonte de dados onde o ponto é usado como separador decimal, ou seja: 1.49significa "um e quase meio". Não é possível mudar isso.

Este número deve ser copiado e colado em uma célula numérica no Excel ou Calc. O arquivo é público e qualquer pessoa pode obtê-lo (venha aqui) então não tenho controle sobre o PC/programa do usuário.

A maioria dos usuários são italianos com localidade it_IT, onde os decimais são separados por vírgula, ou seja: 1,49significa "um e quase meio" (observe a vírgula em vez do ponto).

Quando o usuário de localidade italiana tenta copiar e colar 1.49da fonte de dados em sua célula numérica, o Calc/Excel enlouquece porque não reconhece o número como decimal.

Se eu definir o idioma no celular, tudo funciona.... até fechar o programa. Se eu abrir o documento novamente, a configuração será perdida e não funcionará mais

insira a descrição da imagem aqui

Então, minha pergunta:

  1. É possível forçar a localidade do arquivo/planilha para "en_US", independentemente da localidade definida pelo usuário?
  2. É possível manter o atributo Idioma?
  3. Alguma outra ideia? (não "peça ao seu usuário para alterar a configuração", por favor)

Prefiro evitar macros, se possível.

Obrigado!

Atualizar: Estou no Windows 10 x64 e acabei de atualizar para o LibreOffice 5.4.4 x64. A configuração de idioma por célula ainda não foi salva. Nem está claro para mim se ésupostopara ser salvo ou se for apenas uma configuração de visualização (acho que é a primeira opção, já que o botão Salvar acende quando eu faço isso..)

Responder1

Meus amigos do TurboLab.itpropostoa melhor solução até agora:

  1. defina a célula projetada para aceitar a entrada do usuário como "texto"
  2. em uma célula temporária próxima, substitua o ponto por vírgula por algo como=SUBSTITUTE(E16;".";",")
  3. faça as contas no valor substituído
  4. reconverta-o se necessário

O arquivo final, para os interessados,está disponível aqui.

A única grande desvantagem é que isso só funciona se o usuário tiver uma localidade onde "vírgula" é o separador decimal, como italiano.

HTH.

Responder2

Solução manual, a ser repetida sempre que você colar:

Após copiar e colar; as células coladas são selecionadas...
Use imediatamente Localizar e Substituir, primeiro substitua qualquer "." (separador de milhares) por "" (ou seja, "nada") e, em seguida, substitua "," (separador de decimais original) por "." o novo separador de decimais).

Pode ser necessário usar "Colar especial" para adicionar 0 ou multiplicar por 1 para que sejam interpretados como números(==> coloque 1 ou 0 em qualquer célula, copie-a, depois faça "Colar especial" e selecione "adicionar valor" ou "multiplicar valor").

Automação: "Gravar uma macro", faça o procedimento acima, "parar a gravação". Lá você também tem a possibilidade de atribuir uma tecla de atalho.

informação relacionada