Notifications
Clear all

Indireto com fórmulas

6 Posts
2 Usuários
0 Reactions
1,130 Visualizações
(@ricardopb)
Posts: 2
New Member
Topic starter
 

Amigos,
Estou com um problema que não consigo resolver.
Baseado no resultado ( 1,2,3,4) de uma célula, eu tenho que usar uma fórmula diferente.
Coloquei os 4 resultados e 4 formulas num intervalo 4x2 para poder usar o PROCV.
Uma das células fez

PROCV(S2;L45:N48;2;0)

e retornou no formato texto a fórmula

SE((M2-TotalDia-S2)>0;M2-TotalDia-S2;0)

Porém, não estou conseguindo que o Excel "processe" essa fórmula, ele apenas mostra ela como texto. Tentei usar a função Indireto como

=INDIRETO("PROCV(S2;L45:N48;2;0)";)

e gera erro de #Ref
Pelo que pesquisei, a função INDIRETO recebe uma referência e não uma fórmula.
Nesse caso,alguém sabe, como eu poderia processar essa fórmula que está como texto?

 
Postado : 01/11/2013 5:45 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Posta o arquivo.

 
Postado : 01/11/2013 6:36 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Experimente:
Na formula que "deseja" o retorno numérico utilize Valor(SuaFormula) ou (SuaFormula)*1

 
Postado : 01/11/2013 8:41 am
(@ricardopb)
Posts: 2
New Member
Topic starter
 

Oi. Dei uma simplificada na tabela pra facilitar. Podem verificar aqui https://dl.dropboxusercontent.com/u/247 ... nilha.xlsx
Resumindo, eu queria que na celula A10 retornasse 40 que é a formula da opçao escolhida (1)

Reinaldo, não deu certo usar =Valor(PROCV(A8;A5:B6;2)) nem =(PROCV(A8;A5:B6;2))*1

 
Postado : 01/11/2013 4:04 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Operadores aritméticos não funcionam através do INDIRETO() até onde eu sei...

Há jeito de fazer o que vc quer mas com auxílio de colunas adicionais.

Se não avançar avise.

Abs,

 
Postado : 01/11/2013 8:31 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Assim como o colega Mandrix, desconheço uma função nativa do Excel que faça o que deseja.
Via VBA é possível utilizando o método Evaluate.
Em um modulo cole a UDF abaixo:
Efetua a operação em texto constante em uma célula 9Range)
Supondo A6 --> B1+B2 em b6=Evolui(A6)

Function Evolui(rng As Range) As Variant
    Evolui = Evaluate(ngr.Value)
End Function

ou rotina para calculo oriundo de uma formula
Sintaxe =Evolucao(PROCV(A8;A5:B6;2))

Function Evolucao(Text As String) As Variant
    Evolucao= Evaluate(Text)
End Function
 
Postado : 01/11/2013 8:58 pm