Fórmula do Excel: soma dos valores n inferiores -

Índice

Fórmula genérica

=SUMPRODUCT(SMALL(rng,(1,2,n)))

Resumo

Para somar os valores n mais baixos em um intervalo, você pode usar uma fórmula baseada na função PEQUENO e na função SUMPRODUCT. Na forma genérica da fórmula (acima), rng representa um intervalo de células que contêm valores numéricos e n representa o número de valores mais baixos a serem somados. No exemplo mostrado, E5 contém esta fórmula:

=SUMPRODUCT(SMALL(B4:B14,(1,2,3)))

que retorna a soma dos três menores valores em B5: B14, 60

Explicação

Em sua forma mais simples, SMALL retornará o "enésimo menor" valor em um intervalo. Por exemplo:

=SMALL(range,1) // smallest =SMALL(range,2) // 2nd smallest =SMALL(range,3) // 3rd smallest

No entanto, se você fornecer uma constante de matriz (por exemplo, uma constante na forma (1,2,3)) para SMALL como o segundo argumento, SMALL retornará uma matriz de resultados em vez de um único resultado. Por exemplo:

=SMALL(A1:A10,(1,2,3))

retornará o primeiro, segundo e terceiro valores menores no intervalo A1: A10.

Trabalhando de dentro para fora no exemplo mostrado, SMALL retorna os 3 menores valores no intervalo B5: B14:

=SMALL(B4:B14,(1,2,3))

O resultado é uma matriz como esta:

(10,20,30)

Essa matriz é retornada diretamente para a função SUMPRODUCT, que soma os números e retorna o total:

SUMPRODUCT((10,20,30)) // returns 60

Fórmula de matriz com SUM

É comum usar SUMPRODUCT como descrito acima porque ele pode manipular matrizes nativamente sem inserir uma fórmula de matriz. No entanto, você também pode escrever uma fórmula de matriz com a função SUM como esta:

(=SUM(SMALL(B4:B13,(1,2,3))))

Esta é uma fórmula de matriz e deve ser inserida com control + shift + enter, exceto no Excel 365.

Quando n fica grande

Quando n fica grande, torna-se tedioso criar a constante de array manualmente - digitar uma constante de array com 20 ou 30 itens levará muito tempo. Nesse caso, você pode usar um atalho para construir a constante de matriz que usa as funções ROW e INDIRECT. Por exemplo, para somar os 20 valores inferiores em um intervalo chamado "rng", você pode escrever uma fórmula como esta:

=SUMPRODUCT(SMALL(rng,ROW(INDIRECT("1:20"))))

Aqui, INDIRECT converte a string "1:20" no intervalo 1:20, que é retornado diretamente para SMALL.

Variável n

Para configurar a fórmula em que n é uma variável em outra célula, você pode concatenar dentro de INDIRETO. Por exemplo, se A1 contém N, você pode usar:

=SUMPRODUCT(SMALL(rng,ROW(INDIRECT("1:"&A1))))

Isso permite que um usuário altere o valor de n diretamente na planilha.

Artigos interessantes...