Fórmula “if-then” do Excel [fechada]

0
IF(B4-40<0,0,(B4-40))

Acima está minha fórmula para mostrar apenas números positivos acima de 40 na célula especificada. Se minhas horas são, digamos, 35, eu não quero um valor de -5; Eu quero que o valor da célula seja 0. Por que isso não está funcionando?

    
por Jeff Holbrooks 10.12.2012 / 21:01

4 respostas

2

Above is my formula to show only positive numbers above 40 in the given cell. If my hours are ...lets say 35, I do not want a value of -5, I want the cell value to be 0. Why is this not working?

Não vejo razão para essa fórmula funcionar. Assegure-se de que o valor armazenado em B4 seja um inteiro e não uma string. É possível que a ordem das operações esteja sendo mal interpretada: como escrito, IF(B4-40<0,0,(B4-40)) pode estar verificando se -40 é menor que zero; Dito isto, duvido que este seja o caso, pois a fórmula deve avaliar a operação aritmética antes da comparação. Tente adicionar colchetes adicionais em torno do B4-40 term (para concisão mais do que qualquer outra coisa):

=IF( (B4-40) < 0, 0, (B4-40) )

Eu verifiquei que tanto a fórmula acima, quanto a original, realmente funcionam corretamente tanto no MS Excel 2007 no Windows, quanto no Gnumeric no Linux.

    
por 10.12.2012 / 21:19
2

Você está perdendo um = na frente da fórmula. Sem isso, o Excel irá interpretá-lo como texto.

=IF((B4-40)<0,0,(B4-40))
    
por 10.12.2012 / 21:34
1

Sua fórmula original, como você mostrou, está sem o sinal "=" (igual) no início da fórmula. Sem o sinal "=", a fórmula será mostrada como texto.

Eu também não vejo uma razão pela qual essa fórmula não esteja funcionando para você, supondo que você tenha o sinal "=" no início da fórmula. Eu teria escrito um pouco diferente:

=IF(B4>40,(B4-40),0)
or
=IF((B4>40),(B4-40),0)

Você pode testar se B4 é na verdade um número (em vez de uma string) assim:

=IF(ISNUMBER(B4),IF((B4>40),(B4-40),0),"B4 is Not a number")

Por favor, note que se você estiver usando o Open-Office Calc em vez do Microsoft Excel, você precisará usar ponto e vírgula (;) ao invés de vírgulas (,) assim:

=IF((B4>40);(B4-40);0)
=IF(ISNUMBER(B4);IF((B4>40);(B4-40);0);"Not a number")
    
por 10.12.2012 / 21:52
0

Funciona para mim, recebo 0 para valores inferiores a 35 ou 35, que versão do Excel você está usando? Você também pode verificar o tipo de cada célula que pode causar possíveis problemas.

    
por 10.12.2012 / 21:19