Notifications
Clear all

[Resolvido] Calcular INSS

9 Posts
3 Usuários
2 Reactions
3,739 Visualizações
(@nilton)
Posts: 18
Active Member
Topic starter
 

Bom tarde.

Estou desenvolvendo uma planilha para Folha de Pagamento e preciso que, ao entrar com o valor do salário bruto, o excel automaticamente calcule o valor do INSS, com a alíquota e respectiva parcela à deduzir, com base na tabela informada.

Lembrando que a tabela de INSS trabalha com faixas. Então, por exemplo, caso o salário fosse de R$ 2.348,52, ele deve verificar que este valor está na faixa compreendida entre R$ 2.203,49 e R$ 3.305,22. Sendo assim, ele deve aplicar 12% em cima do valor bruto e, após, deduzir a alíquota referente, ou seja, R$ 82,60.

Então, o cálculo deve ser este

2.384,52 x 12% = 286,14
286,14-82,60 = 203,54

Portanto, o INSS deste funcionário será de R$ 203,54

Dada a tabela em anexo, como posso automatizar estes cálculos? Tentei com o PROCV e com o INDICE CORRESP mas não consegui.

Também poderia fazer com

=SE(B2<G7;SOMARPRODUTO(--(B2>{0;1100;2203,48;3305,22}); (B2-{0;1100;2203,48;3305,22}); {0,075;0,015;0,03;0,02});751,97)

Mas, desta forma eu teria que colocar os valores diretamente na fórmula. Como estes valores podem mudar, eu preciso que seja feito com o endereço da célula.

No futuro, esta planilha, vai para pessoas que poderão não saber mexer com fórmulas (além do perigo de alterarem e corromperem tudo) e seria muito mais prático que elas apenas alterassem os valores nas células correspondentes e o excel efetuassem os cálculos.

Alguma ideia, por gentileza?

Att.

Nilton

Este tópico foi modificado 4 anos atrás by Nilton
 
Postado : 14/05/2021 4:22 pm
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

Boa noite, @nilton

Em B3 vc poderia usar a seguinte fórmula para calcular o INSS:

=ARRED(B2*PROCV(B2;$F$3:$I$7;3;VERDADEIRO)%-PROCV(B2;$F$3:$I$7;4;VERDADEIRO);2)

Obs.:

  • Não ficou claro o que acontece se o valor ultrapassa a última faixa. Nesse caso, esta fórmula vai continuar considerando a última carreira de valores. Se não for isso, retorne;
  • Comentário: atenção ao fato que no post acima ao descrever o exemplo vc usou o valor 2.384,52 e no arquivo o valor já inserido está 2.348,52 o que pode causar confusão na hora de conferir se o resultado bate, ok?

 
Postado : 14/05/2021 11:27 pm
deciog reacted
(@nilton)
Posts: 18
Active Member
Topic starter
 

@edsonbr
Bom dia, Edson

Agradeço pela resposta. Em relação às suas perguntas:

* Sobre a faixa última faixa, o teto máxima do INSS para 2021 é de R$ 6.433,57. Portanto, sendo este o valor máximo de contribuição, qualquer salário além desse valor pagará o teto máximo da contribuição, ou seja, R$ 751,99. Sendo assim, quem ganha R$ 6.433,57 paga R$ 751,99 para o INSS e quem ganha R$ 120.000,00 paga os mesmos R$ 751,99. Dito isso, lhe pergunto o que tenho que alterar na sua fórmula, pois percebi que ela continua calculando, mesmo acima da faixa.

* Em relação ao valor que coloquei no exemplo, eu realmente errei na digitação. Como era apenas uma tabela de exemplo para explicar a dinâmica do que eu preciso, acabei cometendo este equívoco.

Aproveitando o ensejo, você poderia explicar a dinâmica de sua fórmula, para meu conhecimento?

Abs.

 

Nilton

Este post foi modificado 4 anos atrás por Nilton
 
Postado : 15/05/2021 8:13 am
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

Ok, nesse caso de após o teto o valor permanecer fixo pode usar a fórmula modificada abaixo:

=ARRED(SE(B2>G7;G7*H7%-I7;B2*PROCV(B2;F3:I7;3)%-PROCV(B2;F3:I7;4));2)
 
Postado por: @nilton

Aproveitando o ensejo, você poderia explicar a dinâmica de sua fórmula, para meu conhecimento?

A fórmula aproveita a velha e conhecida função PROCV, usando a busca aproximada ao invés de exata:

PROCV(ValorProcurado;MatrizOuIntervaloOuTabela;coluna;BuscaAproximada?)

Esta função procura um valor na primeira coluna de um intervalo e traz o valor correspondente em outra coluna. Se o último parâmetro for VERDADEIRO (padrão) ou deixado em branco, se o valor procurado exato não for encontrado ele traz o mais próximo a menor, desde que os dados estejam corretamente classificados ascendentemente, o que é o caso de sua tabela.

Lendo a fórmula, seria: Se o salário for maior que o teto, o valor do INSS será o teto vezes a porcentagem do teto menos o desconto. Caso contrário, multiplique o salário procurando primeiro o valor que mais se aproxima desse salário na tabela e trazendo não o salário, mas a porcentagem (3ª coluna do intervalo). Fazendo o mesmo, subtraia o valor da 4ª coluna. Arredonde resultado da fórmula para 2 casas decimais.

 

 
Postado : 16/05/2021 4:19 am
deciog reacted
JSCOPA10
(@jscopa10)
Posts: 344
Reputable Member
 

@nilton, outra sugestão ... a última formula do EdsonBR já funciona ... mas eu gosto mais assim ... B3 =SE(B2>=6433,57;751,99;B2*PROCV(B2;F4:I7;3;1)%-PROCV(B2;F4:I7;4;1)) 

 

 
Postado : 16/05/2021 11:29 am
(@nilton)
Posts: 18
Active Member
Topic starter
 

@edsonbr, bom dia.

Agradeço pela explicação. Em relação à sua última fórmula, não sei se eu devo substituir pela anterior ou se devo inserir esta naquela. Tentei substituir, mas não deu certo, porque qualquer valor que eu insira na célula salário, o valor está sendo sempre 20,82. 

 

@jscopa10, agradeço pela resposta. Entretanto, percebi que ela só funciona para valores acima do teto. Abaixo deste teto, o valor não corresponde ao correto. Além disso, desta forma, eu insiro o valor do teto na própria fórmula, o que estou tentando evitar.

 

Abs.

 

Nilton

 
Postado : 16/05/2021 12:36 pm
JSCOPA10
(@jscopa10)
Posts: 344
Reputable Member
 

@nilton ... Aqui tá tudo funcionando, veja no arquivo!! ... Acho que o problema está no seu Excel !!!

PS: " ...  percebi que ela só funciona para valores acima do teto ... " .................... mas não é para funcionar mesmo não, qualquer valor acima estará limitado ao teto e o INSS será de R$751,99 !!! ... Ou seja, se o empregado 1 ganha 6.500,00 e o empregado 2 ganha 25.000,00 eles vão pagar o mesmo INSS (751,99)!!!!!!!!

PS2 " ...  Além disso, desta forma, eu insiro o valor do teto na própria fórmula, o que estou tentando evitar. ..." .......... é só trocar o 6.433,57 por $G$7 !!

 

 
Postado : 16/05/2021 1:51 pm
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 
 
Postado por: @nilton

...não sei se eu devo substituir pela anterior

Isso mesmo, aquela é a nova fórmula que deve ser inserida na B3.

 
Postado por: @nilton

...Tentei substituir, mas não deu certo, porque qualquer valor que eu insira na célula salário, o valor está sendo sempre 20,82.

🤔Como vc fez pra inserir? Sua planilha está igual a que vc enviou? De qualquer forma, segue anexa a pasta de trabalho Excel com a fórmula.

 

 

.

 

 
Postado : 16/05/2021 3:32 pm
(@nilton)
Posts: 18
Active Member
Topic starter
 

Caros @edsonbr e @jscopa10

Quero agradecer pelas inestimáveis ajudas. Não respondi antes porque estava justamente terminando a planilha e, após, pude constatar o perfeito funcionamento das fórmulas por vocês apresentadas.

Mais uma vez, muito obrigado.

Abs.

Nilton

 
Postado : 23/05/2021 9:02 pm