Suponha que eu tenha a seguinte tabela:
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/MATCH
mas não tenho muita certeza de como proceder.
Entendo que a SUMIF
funçã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:
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 SUMIFS
deverá 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 SMALL
funçã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 SMALL
função B$15
como 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))