JMBG

JMBG odn. Jedinstveni Matični Broj Građana je nešto što u "totalnim" demokracijama ne postoji, a svi ga mi (rođeni u Hrvatskoj i u ex. Jugi) dobivamo u prvim danima našeg života. Dolje prikazan stoji algoritam kojim se kontrolira točnost unesenog matičnog broja, a može Vam poslužiti pri izradi programskih aplikativnih rješenja. Važno je napomenuti da je dosta veliki broj matičnih brojeva (pogotovo onih iz (ex.) BiH) "netočan" odn. ne zadovoljavaju zadanu formulu. Zbog toga je važno ostaviti korisniku Vašeg programa da (ipak) unese i taj krivi broj, npr. "Unesen je krivi matični broj. Pritisnite [F9] nakon provjere ako je to ipak točan broj."

Ako je Matični broj napisan u formatu ABCDEFGHIJKLM onda je:

M = 11 - ( 7*(A+G) + 6*(B+H) + 5*(C+I) + 4*(D+J) + 3*(E+K) + 2*(F+L) ) % 11

...ili riječima: zbrojite 1. i 7., 2. i 8., 3. i 9., 4. i 10., 5. i 11., te 6. i 12. znamenku matičnog broja. Dobivenih 6 suma pomnožite sa 7, 6, 5, 4, 3 odn. 2 i zbrojite dobivene umnoške. Navedeni zbroj podijelite sa 11 i ostatak tog dijeljenja oduzmite od 11. Dobivate kontrolnu znamenku koja bi se trebala nalaziti na 13. mjestu matičnog broja.

U spreadsheetu (Excel, Lotus, Quattro) bi to ovako izgledalo:

    Tako to izgleda u Excelu
  • Excel: A1: matični broj - kao tekstualni podatak (što će reći da je u TEXT formatu)
  • Excel: B1: =IF(A1="";"";IF( 11-(MOD( 7*(MID(A1;1;1)+MID(A1;7;1)) + 6*(MID(A1;2;1)+MID(A1;8;1)) + 5*(MID(A1;3;1)+MID(A1;9;1)) + 4*(MID(A1;4;1)+MID(A1;10;1)) + 3*(MID(A1;5;1)+MID(A1;11;1)) + 2*(MID(A1;6;1)+MID(A1;12;1));11)) =VALUE(MID(A1;13;1));"OK";"!"))


    Tako to izgleda u Quattro-u

  • Quattro: A1: matični broj - kao tekstualni podatak (što će reći da ima (npr.) apostrof kao prefiks)
  • Quattro: B1@IF(A1="";"";@IF(11-@MOD( 7*(@VALUE(@MID(A1;0;1))+@VALUE(@MID(A1;6;1))) + 6*(@VALUE(@MID(A1;1;1))+@VALUE(@MID(A1;7;1))) + 5*(@VALUE(@MID(A1;2;1))+@VALUE(@MID(A1;8;1))) + 4*(@VALUE(@MID(A1;3;1))+@VALUE(@MID(A1;9;1))) + 3*(@VALUE(@MID(A1;4;1))+@VALUE(@MID(A1;10;1))) + 2*(@VALUE(@MID(A1;5;1))+@VALUE(@MID(A1;11;1)));11) =@VALUE(@MID(A1;12;1));"OK";"!"))


Ako se netko potrudio i optimizirao ove formule, bio bih mu zahvalan (a i drugi) ako bi mi poslao iste...
Kliknite ovdje za slanje optimizirane formule

Hardware Malo o mom software-u i softrware-u opcenito Nesto o automobilima i auto-moto-tehnici Cijene razgovora, tehnika, crackovi.... Mozda Vi imate nesto sto meni treba... a mozda i ja nesto sto vama treba... Ovdje bi trebalo biti sve ono sto nije pod drugim opcijama Nesto sitno podataka o meni... Popis zanimljivih stranica Kliknite ovdje ako mi zelite poslati e-mail....