OpenOffice Calc fórmula “if” para moedas

1

Eu tenho uma planilha que tem muitas moedas diferentes ($, euro, shekel). Quero exibir o preço real na moeda original e mostrar o preço convertido (nesse caso, shekels). Eu encontrei uma fórmula para isso usando excel , mas quando eu tento usá-lo no openoffice ele não funciona, eu recebo um erro 508. Aqui está a fórmula que eu criei:

=IF(LEFT(D12, 1)="$";D12*Conversions.C4;IF(LEFT(D12, 1) = "€";D12*Conversions.B4; D12))

Onde D12 é a célula com o preço original, Conversions.C4 é a célula a converter $ em shekels e Conversions.B4 é a célula a converter euros em shekels.

Como um aparte e pontos de bônus, se alguém souber como inserir uma fórmula de conversão de moeda continuamente atualizada (ao invés de ter que procurar e alterar manualmente a taxa toda semana / mês / qualquer coisa), eu agradeceria muito.

    
por Alan Frazin 05.11.2015 / 16:34

1 resposta

1

O código de erro é causado pelo uso de vírgulas na função LEFT , em que são necessários pontos-e-vírgulas (o OpenOffice exige ponto-e-vírgula na maioria dos lugares em que o Excel usa vírgulas).

Além disso, como apontado nos comentários a essa pergunta, o OpenOffice vê um número com formatação de moeda como apenas um número e a função LEFT retornará apenas números daquela célula.

Para contornar isso, use Text to Columns para converter todos os números de moeda em texto. Seja nos dados originais ou em uma cópia em outra coluna ou folha, se você precisar manter a formatação como números no original.

Realce todas as células da moeda que você irá converter em texto. Selecione Dados → Texto para Colunas. Na parte inferior da janela pop-up, clique na coluna de células que você está convertendo para destacá-las. Selecione o tipo de coluna "Texto". Repita se você estiver convertendo várias colunas. Clique no botão OK para realizar a conversão.

Agora, sua fórmula original fornecerá um novo código de erro, porque ele faz objeções a fazer matemática em uma sequência de texto. Para corrigir isso, use a função VALUE para converter de volta para um número onde necessário:

=IF(LEFT(D12; 1)="$";VALUE(D12)*Conversions.C4;IF(LEFT(D12; 1) = "€";VALUE(D12)*Conversions.B4; D12))
    
por 09.11.2015 / 17:41