Pergunta de Neófito sobre o uso de Subtotal e CountIf no Excel

0

Estou usando o Excel e tendo alguns problemas com Countif e não entendo como ele funciona de maneira diferente de SubTotal . Eu usei a GUI para subtotal e todos os subtotais estão certos. Então tentei usar o Countif para ver quantos requisitos foram passados. Isso funcionou apenas para o primeiro subtotal. É fácil perceber porquê. Quando olho para a caixa do subtotal, diz:

=SUBTOTAL(3,C286:C292)

Quando vejo a minha fórmula para os requisitos aprovados, tenho:

=IF(ISTEXT(A285),COUNTIF(C286:C338,"=Passed"),"")

Observe que a última coluna está errada. Como o Subtotal conseguiu manter isso correto? Eu digitei a fórmula para passar os requisitos e arrastei para baixo da página. Tudo se comportou como esperado (mesmo o pouco sobre ISTEXT obedientemente descobriu qual linha era qual), mas a última linha ficou errada.

Alguma idéia?

SRS Maintenance Count   7   44  
SRS Maintenance Passed              
SRS Maintenance Passed              
SRS Maintenance Passed              
SRS Maintenance Passed              
SRS Maintenance Passed              
SRS Maintenance Passed              
SRS Maintenance Passed              
SRS Reports Count   12  43  
SRS Reports Passed              
SRS Reports Passed              
SRS Reports Passed              
SRS Reports Passed              
SRS Reports Failed              
SRS Reports Passed              
SRS Reports Passed              
SRS Reports Failed              
SRS Reports Passed              
SRS Reports Passed              
SRS Reports Failed              
    
por Andrew 10.06.2010 / 16:31

1 resposta

0

Esta função SubTotal() está realmente usando apenas a função CountA() ( especificada pelo "3" que você passou nela ) para contar o intervalo especificado. Esta função contará qualquer célula que não esteja vazia ( independentemente do que ela contenha ). A única razão pela qual ele obtém o direito total é porque todas essas entradas são "Passadas". Tente alterar um dos valores para "SRS Maintenance Failed" e você verá que o total não muda.

Existe um problema com a sua declaração If() . Você realmente não precisa usar o If() junto com a instrução CountIf() . A lógica da instrução CountIf() é: " Se a célula corresponder ao valor especificado, então conte-a ". Portanto, a seguinte declaração funcionará em seu lugar.

=CountIf(C286:C292, "SRS Maintenance Passed")

O problema com a declaração CountIf() é que você só pode especificar um único termo para corresponder. Então você precisaria de dois 'subtotais' separados para obter o valor de ambos os Relatórios que passaram e Manutenção que passaram.

=(CountIf(C286:C292, "SRS Maintenance Passed") + (CountIf(C286:C292, "SRS Reports Passed"))
    
por 10.06.2010 / 22:44