Como manter uma fórmula matemática não avaliada em uma célula no Excel e avaliá-la em outra célula?

1

Eu quero ter duas células no Excel:

No primeiro deles (fx A1) eu quero ter uma equação como 2 + 2
Na segunda (fx A2) eu quero ter a solução = 4.

Como posso fazer isso?

    
por Jakub Kuszneruk 29.11.2013 / 11:25

2 respostas

2

Primeiro, insira a seguinte UDF em um módulo padrão:

Public Function eval(strng As String) As Variant
    eval = Evaluate(strng)
End Function

depois, em A2, digite:

= eval (A1)

Funções Definidas pelo Usuário (UDFs) são muito fáceis de instalar e usar:

  1. ALT-F11 exibe a janela do VBE
  2. ALT-I ALT-M abre um novo módulo
  3. cole o material e feche a janela do VBE

Se você salvar a pasta de trabalho, a UDF será salva com ela. Se você estiver usando uma versão do Excel posterior a 2003, deverá salvar o arquivo como .xlsm em vez de .xlsx

Para remover o UDF:

  1. abrir a janela do VBE como acima
  2. limpe o código
  3. feche a janela do VBE

Para usar o UDF do Excel:

= myfunction (A1)

Para saber mais sobre macros em geral, consulte:

link

e

link

e

link

para detalhes sobre UDFs

As macros devem estar ativadas para que isso funcione !

    
por 29.11.2013 / 13:28
0

Você pode não conseguir fazer exatamente o que deseja usando uma função de planilha, isso é respondido aqui e isso por design.

Você pode conseguir isso com o VBa (e sua postagem não indica o uso do VBa ou não, por isso, não assumo) ou você could procura o antigo XLET GET.FORMULA (), mas o VBa é melhor (e eu não sei nada de XLM)

Você pode fazer algo como

=FORMULATEXT(formulaCell)      

FORMULATEXT requires the morefunc.xll add-in. 

Fonte

No entanto, como uma solução alternativa e baseada no exemplo exato da sua pergunta, você pode fazer o seguinte (que funciona)

=SUM(LEFT(A1,1),RIGHT(A1,1))

Isso só funcionará quando a fórmula for N + N (onde N é 1 dígito), mas dependendo de quantas linhas de dados você tiver, isso pode atender às suas necessidades!

    
por 29.11.2013 / 13:20