Altera uma função usada em uma fórmula, usando o nome da função armazenado como texto em uma célula separada

1

Eu tenho essa fórmula

=ROUNDUP(D12/(D6-D5),IFERROR(VLOOKUP(G9,reference!$C$2:$D$7,2,0),100))

e desejo alterar a parte ROUNDUP com base no texto de uma célula separada (digamos, F7 , em que o texto pode ser ROUNDDOWN ou ROUND ).

Eu tentei usar as funções SUBSTITUTE() e REPLACE() . Estas são algumas das minhas tentativas:

=REPLACE("=ROUNDUP(…)",2,7,F7) *

=REPLACE(ROUNDUP(…),2,7,F7)

* Esta versão acabou criando a fórmula correta, mas é mostrada como texto, não como uma fórmula. Eu posso colá-lo em outra célula e funciona. Então, tentei adicionar *1 nessa fórmula, mas ainda não funcionou.

Uma solução alternativa é o uso de IF aninhado, mas isso criará muitas linhas, então eu esperava outra opção.

    
por rose 18.07.2018 / 03:43

1 resposta

0

Você pode usar as funções CHOOSE e MATCH , ainda não é a melhor, mas é melhor que IF :

=CHOOSE(MATCH(F7,{ROUND,ROUNDUP,ROUNDDOWN},0),ROUND(D12/(D6-D5),ROUNDUP(D12/(D6-D5),ROUNDDOWN(D12/(D6-D5))

    
por 18.07.2018 / 10:22