A fórmula da matriz do Excel não funciona ao usar operadores lógicos

0

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.

    
por Elaskanator 11.05.2018 / 22:29

1 resposta

0

Você não pode usar AND () ou OR () em fórmulas do tipo array. Veja:

Post anterior

Há soluções fáceis usando mais ou multiplicando

    
por 11.05.2018 / 22:37