Página 1 de 1
FÓRMULA PARA SOMAR DUAS LINHAS, MAS NEM SEMPRE UMA EXISTIRÁ
Enviado: 12 Mar 2021 às 12:06
por norival
PESSOAL,
ESTOU FAZENDO UMA PLANILHA AONDE TRAGO UM ARQUIVO .CSV E NA MINHA PLANILHA BASE PRECISO DE UMA FÓRMULA QUE SOME DUAS LINHAS QUANDO HOUVER OS PROVENTOS 37 E 49, MAS NEM SEMPRE UM DESSES PROVENTOS VIRÁ NESSE ARQUIVO .CSV, COMO DEVO PROCEDER?
ANEXO PLANILHA COM AS EXPLICAÇÕES TAMBÉM.
Re: FÓRMULA PARA SOMAR DUAS LINHAS, MAS NEM SEMPRE UMA EXISTIRÁ
Enviado: 12 Mar 2021 às 13:23
por Estevaoba
Cole em E9 e copie para baixo:
Código: Selecionar todos=SOMARPRODUTO(SOMASES(DESLOC('AVISO PRÉVIO INDENIZADO'!$B$20:$B$23;0;CORRESP(BASE!$B9;'AVISO PRÉVIO INDENIZADO'!$C$19:$N$19;0));'AVISO PRÉVIO INDENIZADO'!$A$20:$A$23;{37;49}))
Good luck!
Re: FÓRMULA PARA SOMAR DUAS LINHAS, MAS NEM SEMPRE UMA EXISTIRÁ
Enviado: 12 Mar 2021 às 14:11
por norival
Estevaoba,
OK, mas se vier um arquivo .csv que contenha o provento 37 também ou seja foi incluso mais uma linha no exemplo que envie seria no .csv na linha 24 ele não está somando, pq digo isso, pq fui la na planilha que só contém o provento 49 e inclui uma linha abaixo e coloquei como provento 37 e os valores e não fez a soma.
Re: FÓRMULA PARA SOMAR DUAS LINHAS, MAS NEM SEMPRE UMA EXISTIRÁ
Enviado: 12 Mar 2021 às 17:21
por Estevaoba
Fiz agora com intervalos dinâmicos usando a função DESLOC.
Código: Selecionar todos=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)))
Mas para funcionar, é necessário que a estrutura da planilha seja consistente, conforme no seu exemplo.
No caso, a fórmula está limitando o intervalo de soma ao número de linhas entre as palavras Provento, na linha 19 e Total de Provento, na linha 25, ou seja, 4 linhas.
Notei que a palavra Provento, na linha 19 está precedida de um espaço (" Provento"), então uso exatamente esta grafia na fórmula.
Faça testes e nos dê um retorno se atende a sua necessidade.
Ab.
Re: FÓRMULA PARA SOMAR DUAS LINHAS, MAS NEM SEMPRE UMA EXISTIRÁ
Enviado: 13 Mar 2021 às 08:52
por norival
perfeito!!!!! funcionou....obrigado meu amigo!!!!!!
Re: FÓRMULA PARA SOMAR DUAS LINHAS, MAS NEM SEMPRE UMA EXISTIRÁ
Enviado: 14 Mar 2021 às 07:39
por norival
Gostaria ...se possivel que me explicasse passo a passo a formulação dessa fórmula para meu entendimento, caso não possa ,peço desculpas pela minha ignorância.
Re: FÓRMULA PARA SOMAR DUAS LINHAS, MAS NEM SEMPRE UMA EXISTIRÁ
Enviado: 14 Mar 2021 às 14:44
por Estevaoba
=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.
Re: FÓRMULA PARA SOMAR DUAS LINHAS, MAS NEM SEMPRE UMA EXISTIRÁ
Enviado: 16 Mar 2021 às 08:39
por norival
Muitissimo Obrigado, explicação bem detalhada, nem tenho como lhe agradecer, me ajudou demais!!!!
VALEU!!!!!