February 24th, 2009

Excel формула расчета 13-го символа штрихкода EAN-13

Опубликовано на russur.ru - блог про жизнь. Оставить комментарий можно там.

Как известно, в штрихкоде формата EAN-13 13-й символ проверочный, он вычисляется из двенадцати по хитрой формуле. Не напоминает историю с сайлонами из Battlestar Galactic? :)

Дык вот, по работе пришлось соорудить формулу превращающую 12-значный штрихкод в 13-значный. Дело это было оочень непростое :) Путь был тернист: поискал а есть ли такое уже, нашел мегаприблуду на Экселе некоего крутого перца защитившего приблуду паролем. Ну дальше по полной: поиск проги вскрывающей эти пароли, поиск кряка к проге, успешное ломание, переделка — и вот оно, «я взлетаю» © Финам-ФМ:

=[cell]*10+MOD(10-MOD(3*(MID([cell];2;1)+MID([cell];4;1)+MID([cell];6;1)+MID([cell];8;1)+MID([cell];10;1)+MID([cell];12;1))+MID([cell];1;1)+MID([cell];3;1)+MID([cell];5;1)+MID([cell];7;1)+MID([cell];9;1)+MID([cell];11;1);10);10)

В формуле, понятное дело, [cell] означает ячейку в которой 12-значный штрихкод.