|
Microsoft Office Excel |
|
|
Kontrolni broj za barkod (EAN-13)Nivo:
Čitalac Aleksandar Lazić mi je nedavno poslao jednostavan, ali veoma zanimljiv i, verujem, mnogima koristan prilog. U potrebi da sam formira interne barkodove po standardu EAN-13, kolega je pribegao operaciji u Excelu da bi došao do kontrolnog broja. Ako baratate barkodovima, onda verovatno već znate za algoritam: prvih sedam ili osam cifara u broju barkoda čine oznaka države i oznaka proizvođača artikla, što dodeljuje asocijacija IANA; prostor do dvanaest cifara proizvođač proizvoljno koristi bez potrebe za konsultacijom, a poslednja cifra je kontrolni broj po posebnom algoritmu, koji je proizvođač dužan da postavi tačno.
Kolega Lazić me je podsetio na moju sopstvenu naviku da kad god treba izračunati nešto kompleksnije, a po standardizovanom obrascu, uobičajeno pribegnem pisanju VBA funkcije koju potom koristim ravnopravno, kao i sve ostale. Iako u tom pristupu načelno nema ničeg lošeg, moguće su neprijatne posledice. Možda neki korisnici nemaju uključen nivo sigurnosti koji dozvoljava rad VBA modula; ako i postave nivo Middle, mala je verovatnoća da će datoteka biti postavljena na pouzdanu lokaciju Cela ta rasprava postaje sasvim izlišna ukoliko je moguće rešiti problem na nivou radnog lista. John Walkenbach, verovatno najpoznatiji guru za Excel na svetu, kategoričan je da je skoro svaki problem moguće rešiti upotrebom jedne ili više formula. Kad kaže tako nešto, obično usledi "kobasica" u nekom primeru, takva da ne verujete svojim rođenim očima da zaista nudi rešenje. Kolega Lazić je našao jedno takvo rešenje. Doduše, ono nije problematično za tumačenje, iako je reč o dugačkoj formuli koju treba da prepišete u jedan red odabrane ćelije. Ako se prvih dvanaest cifara barkod broja nalazi u ćeliji A2, tada rešenje glasi: =CONCATENATE(A2;MOD(10-MOD((MID(A2;1;1)+MID(A2;3;1)+MID(A2;5;1)+MID(A2;7;1)+ MID(A2;9;1)+MID(A2;11;1))+((MID(A2;2;1)+MID(A2;4;1)+MID(A2;6;1)+MID(A2;8;1)+ MID(A2;10;1)+MID(A2;12;1)))*3;10);10)) Ako želite da iskopirate ovu formulu u svoj radni list, pobrinite se da ona bude preneta u ćeliju kao jedan red. Ako koristite US podešavanja sistema, onda znakove tačka-zarez treba da zamenite zarezima.
|
|
Vrh stranice Prethodna stranica Naslovna strana Mapa sajta Pretraga |
| AFORIZAM ZA DANAS | OVIH DANA SLUŠAMO... |
| Copyright © Praktikum na Webu, 2000-2011; Valinor Design; sva prava pridržana. |