dilluns, de juny 24, 2013

Validació de NIFs i NIEs amb un full de càlcul

És molt fàcil trobar formules que ens calculin la lletra del NIF o del NIE però encara no he trobat una que validi indistintament l'una o l'altre que és el que semblaria més útil.

Aquí deixo algunes fòrmules per a OpenOffice. Totes suposen que les dades són a la casella A1. Els documents s'han d'entrar sense espais ni guions.

Alguna es podria simplificar, però ja fan el que jo volia. Si les milloreu, podeu deixar la vostra versió als comentaris.

Suposem entrada a A1 (Open Office)

Comprova lletra NIF o NIE indistintament

=SI(CODI(MIG(A1;1;1))>60;SI(MIG("TRWAGMYFPDXBNJZSQVHLCKE";MOD(ABS(CODI(MIG(A1;1;1)))-88&MIG(A1;2;7);23)+1;1)=MIG(A1;9;1);" ";"Comprovi el NIE");SI(MIG("TRWAGMYFPDXBNJZSQVHLCKE";MOD(MIG(A1;1;8);23)+1;1)=MIG(A1;9;1);" ";"Comprovi el NIF"))

Comprova NIF
=SI(MIG("TRWAGMYFPDXBNJZSQVHLCKE";MOD(MIG(A1;1;8);23)+1;1)=MIG(A1;9;1);" ";"Comprovi el NIF")

Comprova NIE
=SI(MIG("TRWAGMYFPDXBNJZSQVHLCKE";MOD(ABS(CODI(MIG(A1;1;1)))-88&MIG(A1;2;7);23)+1;1)=MIG(A1;9;1);" ";"Comprovi el NIE")

Calcula lletra NIF
=MIG("TRWAGMYFPDXBNJZSQVHLCKE";1+MOD(MIG(A1;1;8);23);1)

Calcula lletra NIE
=MIG("TRWAGMYFPDXBNJZSQVHLCKE";MOD(ABS(CODI(MIG(A1;1;1)))-88&MIG(A1;2;7);23)+1;1)

Comprova si és NIE o NIF
=SI(CODI(MIG(A1;1;1))>60;"És NIE";"És NIF")

Calcula lletra NIF o NIE indistintament
=SI(CODI(MIG(A1;1;1))>60;MIG("TRWAGMYFPDXBNJZSQVHLCKE";MOD(ABS(CODI(MIG(A1;1;1)))-88&MIG(A1;2;7);23)+1;1);MIG("TRWAGMYFPDXBNJZSQVHLCKE";1+MOD(MIG(A1;1;8);23);1))

Cap comentari:

Publica un comentari a l'entrada