- 14 Mar 2021 às 14:44
#62840
=SOMARPRODUTO(SOMASE(DESLOC('AVISO PRÉVIO INDENIZADO'!$A$1;CORRESP(" Provento";'AVISO PRÉVIO INDENIZADO'!$A$1:$A$1001;0);0;CORRESP("Total de Provento";'AVISO PRÉVIO INDENIZADO'!$A$1:$A$1001;0)-CORRESP(" Provento";'AVISO PRÉVIO INDENIZADO'!$A$1:$A$1001;0)-1;1);{37;49};DESLOC('AVISO PRÉVIO INDENIZADO'!$B$1;CORRESP(" Provento";'AVISO PRÉVIO INDENIZADO'!$A$1:$A$1001;0);CORRESP(BASE!$B9;'AVISO PRÉVIO INDENIZADO'!$C$19:$N$19;0);CORRESP("Total de Provento";'AVISO PRÉVIO INDENIZADO'!$A$1:$A$1001;0)-CORRESP(" Provento";'AVISO PRÉVIO INDENIZADO'!$A$1:$A$1001;0)-1;1)))
Combino SOMARPRODUTO & SOMASE para juntar o que seriam duas SOMASE,
uma para o critério 37 (SOMASE('AVISO PRÉVIO INDENIZADO'!$A$20:$A$23;37...)
e outra para o critério 49 (SOMASE('AVISO PRÉVIO INDENIZADO'!$A$20:$A$23;49...)
Por isso os dois critérios são usados entre chaves {37;49} e a SOMARPRODUTO soma os resultados para os dois critérios.
Como os intervalos não são fixos, uso a função DESLOC, tanto para o intervalo de critérios como para o de soma da função SOMASE.
Primeiro argumento da DESLOC para o intervalo de critérios: DESLOC('AVISO PRÉVIO INDENIZADO'!$A$1, onde A1 é apenas uma referência a partir da qual será alterado o intervalo para efetuar as somas.
No segundo argumento, CORRESP(" Provento";'AVISO PRÉVIO INDENIZADO'!$A$1:$A$1001;0), a função CORRESP determina em que linha deve iniciar o intervalo.
O terceiro argumento é zero porque não é necessário mudar de coluna, ou seja, o intervalo é na coluna A, a mesma coluna da célula de referência A1.
O quarto argumento determina a altura do intervalo, ou seja o número de linhas CORRESP("Total de Provento";'AVISO PRÉVIO INDENIZADO'!$A$1:$A$1001;0)-CORRESP(" Provento";'AVISO PRÉVIO INDENIZADO'!$A$1:$A$1001;0)-1
Ele é mais longo porque usa duas vezes a função CORRESP, a primeira determina a linha em que o intervalo deve terminar, ou seja, a linha com o texto "Total de provento" e deste valor eu subtraio o valor resultante da segunda CORRESP, que é a mesma usada no segundo intervalo da DESLOC. E no final, subtraio 1 para não incluir a linha com o texto "Total de provento".
O quinto e último argumento da DESLOC determina a largura do intervalo, ou seja 1, uma coluna.
A função DESLOC para o intervalo de soma segue o mesmo padrão, exceto no terceiro argumento, CORRESP(BASE!$B9;'AVISO PRÉVIO INDENIZADO'!$C$19:$N$19;0)
Como vamos somar mês a mês, precisamos mudar de coluna para cada mês buscado, então a função CORRESP determina a coluna do mês, conforme informado na coluna B da aba BASE.
A função DESLOC pode parecer complicada à primeira vista, mas não é. Basta um pouco de prática para dominá-la.
Espero ter contribuído para o seu entendimento.
Ab.