Você pode aplicar uma fórmula a uma fórmula no Excel em vez do valor?

3

por exemplo. Se a célula A1 contiver a função =SUM(B1:B6) existe uma maneira de usar uma fórmula como SUBSTITUTE(A1,"SUM","COUNT") para retornar a fórmula =COUNT(B1:B6) ?

Alternativamente, existe uma fórmula que retornará o que foi digitado - isto é, retorna =SUM(B1:B6) como uma string em vez do valor?

    
por apkdsmith 20.04.2016 / 16:46

2 respostas

2

Existe um FORMULATEXT disponível a partir da versão 2013.

Para que você possa usar os dois FORMULATEXT(A1)
e SUBSTITUTE(FORMULATEXT(A1),"SUM","COUNT")
Segundo resultará a fórmula como um texto, você não pode avaliá-lo.

Para versões anteriores a 2010, você pode fazer isso apenas com o VBA.

    
por 20.04.2016 / 16:56
2

Este é realmente um complemento da resposta de Máté Juhász, em vez de uma solução completa para a questão. Uma resposta é a única maneira de incluir uma imagem e esta abordagem pode ser limitada quanto a quais versões do Excel ela irá trabalhar.

Mencionei a função AVALIAÇÃO nos comentários sobre a questão e na resposta de Máté. Eu não tenho acesso ao Excel 2013 (e não sei até que ponto a Máté pode ter testado isso). Fiz um teste rápido no Excel 2007, que, infelizmente, não suporta a função FORMULATEXT. Então eu não pude aplicar isso diretamente a essa resposta. No entanto, aqui está a natureza de como seria usada; precisaria ser adaptado para a solução atual.

AcélulaA1contémafórmulaoriginalnapergunta.A2contémotextosubstituído(tevequecodificarafórmulaA1desdeFORMULATEXTnãofoisuportado).A3éumareferênciaaumintervalonomeado,quecontémafunçãoEVALUATEaplicadaàfórmulasubstituída.

SeissofuncionarnoExcel2013,asoluçãoficariaassim:

Crieumintervalonomeado(chame-o,digamos,"fórmula"), definido como:

=EVALUATE(SUBSTITUTE(FORMULATEXT(A1),"SUM","COUNT"))

Consulte o intervalo nomeado para o resultado:

=formula
    
por 21.04.2016 / 20:45