Dúvidas sobre cálculos, funções simples e aninhadas, fórmulas matriciais, etc.
Por Alamir10 21 Mai 2020 às 11:27
Membro Novato
Mensagens: 5
Reputação: 1
#55037
Me solicitaram para criar uma única fórmula para calcular o desconto da tabela "Progressiva do INSS 2020", tentei utilizar o "SE" com "E" mais não consegui. Podem me ajudar?

Anexo Planilha "INSS_TabelaProgressiva" e arquivo WORD com mais detalhes
Apenas usuários registrados podem ver ou baixar anexos.
Por babdallas 21 Mai 2020 às 11:47
Excel Expert
Mensagens: 2522
Reputação: 1105
#55039
Código: Selecionar todos=ARREDONDAR.PARA.BAIXO((SE(B10>$D$7;D7;B10)-PROC(B10;D4:D7))*PROC(B10;C4:C7;E4:E7);2)+SOMA(DESLOC($F$4:$F$7;;;CORRESP(PROC(B10;D4:D7;F4:F7);$F$4:$F$7;0);1))
Apenas usuários registrados podem ver ou baixar anexos.
Por osvaldomp 21 Mai 2020 às 12:01
Excel Expert
Mensagens: 1712
Reputação: 854
#55041
Experimente a fórmula abaixo.
Coloque o salário de contribuição em A1.
Não requer tabela auxiliar.

Código: Selecionar todos=SE(A1<6101,06;SOMARPRODUTO(--(A1>{0;1045;2089,6;3134,4}); (A1-{0;1045;2089,6;3134,4}); {0,075;0,015;0,03;0,02});713,1)
Por Alamir10 22 Mai 2020 às 08:41
Membro Novato
Mensagens: 5
Reputação: 1
#55070
babdallas escreveu:
Código: Selecionar todos=ARREDONDAR.PARA.BAIXO((SE(B10>$D$7;D7;B10)-PROC(B10;D4:D7))*PROC(B10;C4:C7;E4:E7);2)+SOMA(DESLOC($F$4:$F$7;;;CORRESP(PROC(B10;D4:D7;F4:F7);$F$4:$F$7;0);1))


Maravilha!! para ficar melhor ainda, consegue colocar a condição "menor que 1045,00"?
Por Alamir10 22 Mai 2020 às 08:46
Membro Novato
Mensagens: 5
Reputação: 1
#55071
osvaldomp escreveu:Experimente a fórmula abaixo.
Coloque o salário de contribuição em A1.
Não requer tabela auxiliar.

Código: Selecionar todos=SE(A1<6101,06;SOMARPRODUTO(--(A1>{0;1045;2089,6;3134,4}); (A1-{0;1045;2089,6;3134,4}); {0,075;0,015;0,03;0,02});713,1)


Muito bom!! pode me explicar a lógica do número 6 e os 0,015...713?
Valeu pela dica da célula mesclada.
Por osvaldomp 22 Mai 2020 às 10:01
Excel Expert
Mensagens: 1712
Reputação: 854
#55076
Alamir10 escreveu:... pode me explicar a lógica do número 6 ~~~> é a parte decimal do limite superior da segunda faixa de contribuição 2.089,60

... e os 0,015 ... ~~~> esta parte da fórmula {0,075;0,015;0,03;0,02} calcula a contribuição de forma cumulativa, assim, 7,5% incide sobre a primeira faixa e sobre as demais incide a diferença entre as faixas subsequentes: (9%-7,5%)=0,015, (12%-9%)=0,03, ...

...713? ~~~> 713,10 é o máximo valor de contribuição para regime CLT, então se A1 for menor que 6.101,06, que é o teto, a fórmula calcula o valor da contribuição com base em A1, se não, então retorna 713,10

Valeu pela dica da célula mesclada. ~~~> existe outra forma de fazer que oferece resultado visual equivalente à mesclagem porém sem os seus inconvenientes: por exemplo, insira um conteúdo em A1 / selecione A1:D1 / Formatar células / Alinhamento / Horizontal: Centralizar seleção
Por Alamir10 22 Mai 2020 às 10:19
Membro Novato
Mensagens: 5
Reputação: 1
#55077
osvaldomp escreveu:
Alamir10 escreveu:... pode me explicar a lógica do número 6 ~~~> é a parte decimal do limite superior da segunda faixa de contribuição 2.089,60

... e os 0,015 ... ~~~> esta parte da fórmula {0,075;0,015;0,03;0,02} calcula a contribuição de forma cumulativa, assim, 7,5% incide sobre a primeira faixa e sobre as demais incide a diferença entre as faixas subsequentes: (9%-7,5%)=0,015, (12%-9%)=0,03, ...

...713? ~~~> 713,10 é o máximo valor de contribuição para regime CLT, então se A1 for menor que 6.101,06, que é o teto, a fórmula calcula o valor da contribuição com base em A1, se não, então retorna 713,10

Valeu pela dica da célula mesclada. ~~~> existe outra forma de fazer que oferece resultado visual equivalente à mesclagem porém sem os seus inconvenientes: por exemplo, insira um conteúdo em A1 / selecione A1:D1 / Formatar células / Alinhamento / Horizontal: Centralizar seleção


Perfeito!! Muito obrigado!! :idea:
Por babdallas 22 Mai 2020 às 17:44
Excel Expert
Mensagens: 2522
Reputação: 1105
#55096
Corrigindo

Código: Selecionar todos=ARREDONDAR.PARA.BAIXO((SE(B10>D7;D7;B10)-PROC(B10;C4:C7))*PROC(B10;C4:C7;E4:E7);2)+SOMARPRODUTO((SE(B10>D7;D7;B10)>=D4:D6)*F4:F6)