Você precisa de duas funções if
e uma função average
, não há função interna para este cálculo. Se a legibilidade é realmente fundamental para você, considere usar algum VBA e criar uma UDF.
Estou tentando descobrir se há uma função para fazer o que eu poderia fazer com várias instruções IF, apenas para torná-la mais robusta e padrão, suponho (e mais legível)
Eu tenho uma planilha com 4 colunas de dados
A B C D
1200 1350 1700 []
100 120 50 []
A = Mínimo, B = Máximo, C = Real
Gostaria de obter a diferença na coluna D. Se C for menor que A, deve ser A - C, por exemplo. Se C é maior que B então deveria ser C - B. Se C está entre A e B, eu quero mostrar o desvio do ponto médio de A & B.
Eu poderia fazer isso com algumas instruções IF, mas não tenho certeza se existe uma maneira melhor de fazer isso.
Edit: O método de instrução IF que eu mesmo fiz é o seguinte
=IF([@Actual] < [@[Min]],([@Actual]-[@[Min]]),(IF([@Actual] > [@[Max]],([@Actual]-[@[Max]]),([@Actual]-(([@[Min]]+[@[Max]])/2)))))
Qual depois de uma hora de brincadeira parece me dar os resultados que eu quero. Mas em uma planilha de 400 páginas e 48 páginas, causou um atraso razoável.
Eu acho que a verdadeira questão é, existem funções embutidas que poderiam produzir os mesmos resultados, mas com muito menos código / código mais rápido?
Você precisa de duas funções if
e uma função average
, não há função interna para este cálculo. Se a legibilidade é realmente fundamental para você, considere usar algum VBA e criar uma UDF.
Considere:
=IF(C1<A1,A1-C1,IF(C1>B1,C1-B1,ABS(C1-(B1-A1)/2)))