Você precisará criar uma função usando o VBA.
Com sua planilha do Excel aberta, inicie o Editor do Visual Basic fazendo o seguinte:
-
num PC com Windows
prima Alt + F11 . -
em um Mac
pressione FN + ALT + F11
depois clique em Insert
then Module
.
Uma nova janela de módulo aparece no lado direito do Editor do Visual Basic.
Copie o seguinte na nova janela do módulo:
Function Eval(Ref As String)
Application.Volatile
Eval = Evaluate(Ref)
End Function
Agora você pode fechar o Editor do Visual Basic já que criou uma função de fórmula EVAL(cell reference)
.
Agora, use esta nova função enquanto usa VLOOKUP()
para a fórmula.
Se a fórmula deve ser construída de acordo com a linha em que os dados estão, por exemplo,
¦ A ¦ B ¦ C ¦
-----------------------------
1 ¦ 2 ¦ 2 ¦ =A1+B1 ¦
-----------------------------
2 ¦ 4 ¦ 2 ¦ =A2+B2 ¦
-----------------------------
e as células C1
e C2
são L4L-formula
Então você precisa ter em mente a volatilidade da fórmula. Você não pode simplesmente colocar A1 + B1 para L4L-formula
por exemplo. Você teria que inserir sem o sinal de igual (=) "B"&ROW()&"+C"&ROW()
para L4L formula
.
Você precisará criar uma coluna auxiliar para a fórmula resultante.
Se a sua lista de fórmulas é a seguinte:
¦ A ¦ B ¦
-----------------------------
1 ¦ L4L ¦ L4L-formula ¦ Let's say this is F + G
-----------------------------
2 ¦ FOQ ¦ FOQ-formula ¦ Let's say this is F x G
-----------------------------
Se L4L-formula
for F + G
, conforme indicado antes, você precisará inserir "F"&ROW()&"+G"&ROW()
na célula B1
Se FOQ-formula
for F x G
, será necessário inserir "F"&ROW()&"*G"&ROW()
na célula B2
Agora, se sua mesa de trabalho estiver na mesma planilha e for a seguinte:
¦ F ¦ G ¦ H ¦
-------------------------
1 ¦ 2 ¦ 2 ¦ L4L ¦
-------------------------
2 ¦ 4 ¦ 2 ¦ FOQ ¦
-------------------------
em seguida, insira o seguinte na célula I1
e arraste-o para baixo:
=EVAL(VLOOKUP(H1,A:B,2,FALSE))
Coluna I
agora é uma coluna auxiliar que cria a fórmula necessária para essa linha. Você pode, claro, ocultar essa coluna ao imprimir (se necessário).
Para o resultado dessa fórmula, você colocaria =EVAL(I1)
na célula J1
e também poderia arrastar isso para baixo.