Você não pode usar AND () ou OR () em fórmulas do tipo array. Veja:
Há soluções fáceis usando mais ou multiplicando
Estou tentando contar o número de linhas que correspondem a várias condições, por isso estou usando uma fórmula de matriz do formulário
=SUM(IF(...,1,0))
Para começar a criá-lo, primeiro conto o número de registros que preciso considerar ainda mais:
=SUM(IF(ISNUMBER(A:A),1,0))
E obtenho o resultado esperado (algum valor diferente de zero). Então, em seguida, começo a preencher toda a minha lógica, e seu comportamento não faz sentido para mim. Por exemplo:
=SUM(IF(AND(ISNUMBER(A:A),TRUE()),1,0))
Retorna 0. Heck, mesmo isso retorna 0:
=SUM(IF(AND(ISNUMBER(A:A)),1,0))
Apenas por diversão, eu tentei este:
=SUM(IF(OR(TRUE(),ISBLANK(A:A)),1,0))
E é 1 em vez de 1048576. Portanto, se você usa AND ou OR significa que ele retorna 0 ou 1 todas as vezes, respectivamente (também testei a ordem da referência de célula nas funções OR e AND).
Isso parece ser uma falha, já que outras fórmulas complicadas como essa funcionam como esperado:
=SUM(IF(ISNUMBER(SEARCH("MagicString",A:A)),1,0))
Então, como eu uso lógica condicional não trivial para contar linhas?
P.S. Usando o Office 2013
P.P.S. A avaliação automática está desabilitada e certifiquei-me de pressionar F9 para atualizar os cálculos.
Você não pode usar AND () ou OR () em fórmulas do tipo array. Veja:
Há soluções fáceis usando mais ou multiplicando