É possível usar uma fórmula dentro da expressão condicional de SUMIF?

0

Digamos que eu tenha a seguinte coluna: 100, 123, 400, 64 Eu quero usar SUMIF para somar todos os números que dividem por 100 sem lembrete. Ou seja, quero que o resultado seja 500, para o exemplo acima. Eu preciso de alguma forma usar expressão condicional MOD (?, 100) = 0. Minha pergunta é mais geral se é possível usar funções na expressão condicional SUMIF (ou COUNTIF etc.).

    
por BoazF 14.11.2017 / 15:40

2 respostas

1

Não, isso não é possível. É o que desistimos para permitir que seja otimizado (Non-Array).

Mas você pode usar o SUMPRODUCT:

Para a SUM:

=SUMPRODUCT((MOD(A1:A4,100)=0)* A1:A4)

para o COUNT:

=SUMPRODUCT(--(MOD(A1:A4,100)=0))

(MOD(A1:A4,100)=0) retornará VERDADEIRO / FALSO conforme iterar pelo array. Ao usar operandos matemáticos, o TRUE / FALSE se torna 1/0, respectivamente. então o SUMPRODUCT faz as contas e adiciona a matriz resultante.

    
por 14.11.2017 / 15:42
0

Embora aceitando a resposta de Scott Craner está correta e é provavelmente a que você vai querer usar, eu achei que você poderia estar interessado em saber que SUMIF() pode ser usado nesta instância específica.

Como SUMIF() suporta expressões regulares, você pode usar o seguinte:

=SUMIF(A1:A4,"^.*00$")

Isso funciona porque os números em A1:A4 são implicitamente convertidos em texto para a correspondência de expressão regular, que procura cadeias que terminam em dois zeros (se a correspondência de cadeia inteira estiver habilitada, ^ e $ podem ser omitidos) .

O método pode ser generalizado para números que são múltiplos de potências de 10, ou potências de 10 com um resto específico, mas a resposta de Scott pode ser usada para múltiplos de qualquer número e para muitos outros critérios.

Nota: Eu testei isso com o LibreOffice Calc, já que não tenho acesso fácil a uma versão recente do Excel, mas descobri que as funções são bastante compatíveis entre elas. Expressões regulares (e correspondência de cadeia inteira) são ativadas por padrão no Calc, mas talvez precisem ser definidas no Excel.

Atualização: Scott agora me informa que o RE não é suportado nos critérios SUMIF() , mas deixarei a resposta para o benefício dos usuários do LibreOffice.

    
por 14.11.2017 / 17:11