Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tudo que estiver relacionado ao Excel básico, como somar, calcular média, colocar bordas, etc.
  • Avatar do usuário
Por luiseugenio
Posts
#47456
Alguma alma caridosa que saiba transpor isso no excel, sem usar vb.
Já tentei usando a função mod, mas não estou conseguindo.

O número é composto de até 20 algarismos, no formato NNNNNNN-DD.AAAA.JTR.OOOO, onde o DV está colocado imediatamente após o Número Seqüencial (NNNNNNN). O DV é calculado tomando-se o número do Processo e saltando o próprio DV (se for conhecido), ou seja, tomando-se NNNNNNNAAAAJTROOOO. Calcula-se então 98 menos o resto de (NNNNNNNAAAAJTROOOO x 100 / 97). Este resultado confirma o número do DV, com dois dígitos. A forma de cálculo é conhecida como "Módulo 97, Base 10, ISO 7064".

Em java:<script type="text/javascript">
function procJud(form)
{
procJudNum=(form.procJudNum.value);

if(procJudNum.length>18){alert("Erro. Não existe nº de processo com mais de 18 dígitos (fora o DV).\nIntroduza 18 dígitos, no máximo.");}

procJudNum="00000000000000000" + procJudNum;
procJudNum=procJudNum.slice(procJudNum.length-18);

procDig1=procJudNum.slice(0,1); b1=eval(procDig1); b1=b1*10000000000;
procDig2=procJudNum.slice(1,2); b2=eval(procDig2); b2=b2*1000000000;
procDig3=procJudNum.slice(2,3); b3=eval(procDig3); b3=b3*100000000;
procDig4=procJudNum.slice(3,4); b4=eval(procDig4); b4=b4*10000000;
procDig5=procJudNum.slice(4,5); b5=eval(procDig5); b5=b5*1000000;
procDig6=procJudNum.slice(5,6); b6=eval(procDig6); b6=b6*100000;
procDig7=procJudNum.slice(6,7); b7=eval(procDig7); b7=b7*10000;
procDig8=procJudNum.slice(7,8); b8=eval(procDig8); b8=b8*1000;
procDig9=procJudNum.slice(8,9); b9=eval(procDig9); b9=b9*100;
procDig10=procJudNum.slice(9,10); b10=eval(procDig10); b10=b10*10;
procDig11=procJudNum.slice(10,11); b11=eval(procDig11);

proc1a11=b1+b2+b3+b4+b5+b6+b7+b8+b9+b10+b11;
resto1=proc1a11%97;

procDig12=procJudNum.slice(11,12); b12=eval(procDig12); b12=b12*1000000;
procDig13=procJudNum.slice(12,13); b13=eval(procDig13); b13=b13*100000;
procDig14=procJudNum.slice(13,14); b14=eval(procDig14); b14=b14*10000;
procDig15=procJudNum.slice(14,15); b15=eval(procDig15); b15=b15*1000;
procDig16=procJudNum.slice(15,16); b16=eval(procDig16); b16=b16*100;
procDig17=procJudNum.slice(16,17); b17=eval(procDig17); b17=b17*10;
procDig18=procJudNum.slice(17); b18=eval(procDig18);

proc12a18=b12+b13+b14+b15+b16+b17+b18;
resto2=(resto1*10000000*100+proc12a18*100)%97;

procJudDV=98-resto2;

if(procJudDV<10){procJudDV="0"+procJudDV;}

procJudCompl=b1/10000+b2/10000+b3/10000+b4/10000+b5/10000+b6/10000+b7/10000+"-"+procJudDV+"."+b8/1000+b9/100+b10/10+b11+"."+b12/1000000+"."+b13/100000+b14/10000+"."+b15/1000+b16/100+b17/10+b18;

procJudCompl="000000" + procJudCompl;
procJudCompl=procJudCompl.slice(procJudCompl.length-25);


Fonte: http://ghiorzi.org/DVnew.htm nesse proprio site ele forneceu um arquivo no excel, mas dá erro

Obrigado a quem conseguir
Você não está autorizado a ver ou baixar esse anexo.
Editado pela última vez por luiseugenio em 28 Ago 2019 às 16:37, em um total de 1 vez.
Por babdallas
#47457
Anexa um exemplo, nem que seja fictício.
Avatar do usuário
Por Jimmy
Avatar
#47468
Olá Luis

Segue planilha funcionando:
DVnew Jimmy.xlsx
Sua fórmula da célula E1, está correta. Uma alternativa seria:

=98-MOD(MOD(MOD(MOD(A1;97)&TEXTO(B1;"0000");97)&TEXTO(C1;"0000000");97)&"00";97)

Sugiro a fórmula abaixo para a célula D1, pois é mais simples e dispensa o "SE".

=SUBSTITUIR(TEXTO(A1;"0000000-") & TEXTO(E1;"00¨") & TEXTO(B1;"0000¨") & TEXTO(C1;"0¨00¨0000");"¨";".")

Testei comparando com os resultados dados pelo site http://ghiorzi.org/DVnew.htm#f que calcula online.
Você não está autorizado a ver ou baixar esse anexo.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord