Manipula a colagem de decimal com ponto (1.7) quando o idioma está esperando vírgula (1,7)

3

Eu tenho uma fonte de dados onde o ponto é usado como separador decimal, ou seja: 1.49 significa "um e quase metade". Não é possível alterá-lo.

Esse número deve ser copiado e colado em uma célula numérica no Excel ou no Calc. O arquivo é público e qualquer um pode obtê-lo ( faça-o aqui ) para que eu não tenha controle sobre o PC / programa do usuário.

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

Quando o usuário italiano-locale tenta copiar e colar 1.49 da fonte de dados em sua célula numérica, o Calc / Excel vai para a banana porque não reconhece o número como um decimal.

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

Então,minhapergunta:

  1. Épossívelforçaralocalidadedoarquivo/planilhapara"en_US", não importa a localidade definida pelo usuário?
  2. É possível tornar o atributo Language?
  3. Alguma outra ideia? (não "pergunte ao seu usuário para alterar a configuração", por favor)

Eu prefiro evitar macros, se possível.

Obrigado!

Atualização : 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 é salva. Não é claro para mim se é suposto ser salvo ou se é apenas uma configuração de visualização (acho que o primeiro, já que o botão salvar acende quando eu faço isso ...)

    
por Dr. Gianluigi Zane Zanettini 03.01.2018 / 00:52

2 respostas

0

Meus amigos da TurboLab.it propuseram a melhor solução até agora:

  1. define 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. reconvertê-lo, 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 em que "vírgula" é o separador decimal, como o italiano.

HTH.

    
por 04.01.2018 / 22:52
0

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

Após a cópia & colar; as células coladas são selecionadas ...
Use imediatamente Localizar & Substitua, primeiro substitua qualquer "." (separador de milhares) com "" (ou seja, "nada"), substitua "," (separador de decimais original) por "." o novo separador de decimais).

Talvez seja necessário usar "Colar especial" para adicionar 0 ou multiplicar por 1 para que isso seja interpretado como números (== > coloque 1 ou 0 em qualquer célula, copie-o e faça "Colar" especial "e selecione" adicionar valor "ou" multiplicar valor ") .

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

    
por 03.01.2018 / 20:52