Somando várias linhas no Excel

Somando várias linhas no Excel

Suponha que eu tenha a seguinte tabela:

(ainda não é possível incorporar imagens)

Gostaria de saber o número total de maçãs vendidas no dia 1, independentemente do cliente ao qual foram vendidas.

Estou um pouco familiarizado, INDEX/MATCHmas não tenho muita certeza de como proceder.

Entendo que a SUMIFfunção pode ser usada para somar apenas o dia desejado, mas não tenho certeza de como somar várias linhas com INDEX/MATCH.

A saída que estou procurando é a seguinte:

(também não é possível incorporar isso)

Mas o mais importante, eu gostaria de sabercomo somar várias linhas específicase por isso estou solicitandouma fórmula para B16.

Responder1

Se você tiver a opção de desmembrar as células da coluna A e normalizá-las, um simples SUMIFSdeverá funcionar. Caso contrário, tente isto:

=SUMPRODUCT($C$2:$C$13,
1*($B$2:$B$13=$A16),
1*(ROW($A$2:$A$13)>=SMALL(ROW($A$2:$A$13)+100*($A$2:$A$13=""),B$15)),
1*(ROW($A$2:$A$13)<SMALL(ROW($A$2:$A$13)+100*($A$2:$A$13=""),B$15+1)))

Resultado:

╔════════╦════╦════╗
║  Day   ║ 1  ║ 2  ║
╠════════╬════╬════╣
║ Apple  ║ 60 ║ 90 ║
║ Orange ║  0 ║ 85 ║
║ Pear   ║ 75 ║  0 ║
╚════════╩════╩════╝

Fonte:

Modificou a fórmulaencontrado aqui:

Explicação:

A parte central é a SMALLfunção

SMALL(ROW($A$2:$A$13)+100*($A$2:$A$13=""),B$15)

Ele cria uma matriz de números de linha para um intervalo especificado, onde as células que não contêm nada ( ="") têm um valor 100 a mais que o número da linha correspondente ( +100*). Por outro lado, as células que não cumprirem a condição (ou seja, células que não estejam em branco) receberão apenas seus números de linha. Este array é passado para a SMALLfunção B$15como segundo argumento, que diz para ela buscar ok-ésimomenor item da matriz.

Então, queremos somar as linhas onde a linha começa com o número do dia, que é o que esta parte faz:

1*(ROW($A$2:$A$13)>=SMALL(ROW($A$2:$A$13)+100*($A$2:$A$13=""),B$15))

No entanto, também queremos restringir a totalização à célula diretamente acima da próxima célula não vazia; portanto, o <operador e B$15+1(ou seja,(k+1)ºmenor item) na seguinte parte:

1*(ROW($A$2:$A$13)<SMALL(ROW($A$2:$A$13)+100*($A$2:$A$13=""),B$15+1))

Responder2

Se você puder desfazer a mesclagem das células do seu Daycampo, de forma que o número do dia apareça em todas as linhas, umTabela dinâmicaseria de longe a maneira mais fácil de obter o resultado desejado:

Pivô

informação relacionada