Inwentaryzacja z czytnikiem kodów kreskowych w Excelu — jak ją przeprowadzić
Autor Tomasz Lichosik
Gotowy na wygenerowanie kodów?
Twórz wysokiej jakości etykiety w kilka sekund.
Wiele poradników tłumaczy, jak zbudować system magazynowy. Prawie żaden nie mówi, co robić rano w dniu, w którym trzeba naprawdę wszystko policzyć — pożyczonym czytnikiem, w arkuszu, w magazynie, który o dwunastej ma się otworzyć.
A to właśnie tam wszystko się rozstrzyga. Mechanika wygląda na tak prostą, że pomija się przygotowanie — a potem całe popołudnie schodzi na sporze, czy różnica jest prawdziwa.
Oto wersja, która wytrzymuje zderzenie z prawdziwym spisem.
Czytnik to klawiatura
Prawie każdy czytnik USB lub Bluetooth wychodzi z fabryki w trybie emulacji klawiatury (keyboard wedge). Komputer widzi klawiaturę. Czytnik „wpisuje" odczytane cyfry, a potem wysyła klawisz zatwierdzający — zwykle Enter.
Ten jeden fakt tłumaczy całą resztę. Żadnych sterowników, żadnego programu, żadnej integracji — wystarczy, żeby kursor stał we właściwej komórce. A skoro czytnik wpisuje, to wszystko, co Excel robi z wpisanym tekstem, zrobi też z Twoimi kodami.
Ustal sufiks, zanim zeskanujesz cokolwiek
Klawisz zatwierdzający decyduje o kształcie arkusza. Konfiguruje się go, skanując kody programujące z instrukcji producenta — zajmuje to minutę.
| Sufiks | Kursor przechodzi | Kiedy stosować |
|---|---|---|
| Enter (CR) | Wiersz w dół | Jeden skan na wiersz — dziennik poniżej |
| Tab | Kolumnę w prawo | Zapisujesz kilka pól przy jednej pozycji |
| Brak | Stoi w miejscu | Prawie nigdy — nadpiszesz komórkę |
Wybierz Enter i jednokolumnowy dziennik. Każdy inny wariant brzmi sprytniej i zaczyna przeszkadzać przy trzechsetnym skanie.
Najpierw sformatuj kolumnę jako tekst — to jest ta pułapka
Zrób to przed pierwszym skanem, nie po: zaznacz kolumnę i ustaw format komórek na Tekstowy.
Excel traktuje zeskanowany kod jak liczbę, a liczby mają dwie właściwości, które po cichu niszczą identyfikatory:
- Zera wiodące znikają. Kod UPC-A odczytany jako
012345678905staje się12345678905. Nie pasuje już do niczego. - Precyzja kończy się na 15 cyfrach znaczących. Osiemnastocyfrowy SSCC w rodzaju
003456789012345675wraca jako3456789012345670— końcówka zostaje zastąpiona zerami, a Excel potrafi jeszcze wyświetlić to jako3,45679E+15.
Ten drugi przypadek jest groźniejszy, bo wygląda na problem z wyświetlaniem, a jest utratą danych. Cyfr nie ma w komórce, nie tylko na ekranie. Poszerzenie kolumny ich nie przywróci.
Jeśli dostajesz arkusz, w którym to już się stało, uczciwa odpowiedź brzmi: zeskanować tę kolumnę od nowa. Zmiana formatu po fakcie nie odzyskuje niczego.
Skanuj do dziennika, nie do komórki z ilością
Kusi, żeby prowadzić arkusz główny z kolumną Ilość i zwiększać ją przy każdym skanie. Nie rób tego.
Zamiast tego prowadź płaski dziennik — jeden skan, jeden wiersz:
| Czas | Lokalizacja | Kod | Liczący |
|---|---|---|---|
| 09:14:02 | A-01-3 | 5901234123457 | TL |
| 09:14:04 | A-01-3 | 5901234123457 | TL |
| 09:14:09 | A-01-3 | 4006381333931 | TL |
Podsumowania robisz na końcu — tabelą przestawną albo =LICZ.JEŻELI(C:C; <kod>) dla szybkiej sumy.
Powód to możliwość weryfikacji. Kiedy pojawi się różnica — a pojawi się — dziennik pozwala odpowiedzieć, kiedy i gdzie pozycja została policzona. Kolumna Ilość edytowana w miejscu wyrzuciła ten dowód: zostają dwie liczby i żadnego sposobu, żeby wybrać między nimi.
Dzięki temu spis daje się też naprawić. Jeśli ktoś policzył nie tę alejkę, kasujesz te wiersze. Jeśli sumy były edytowane na żywo — liczysz od nowa.
Dwa tryby liczenia i moment przełączenia
Skanowanie każdej sztuki. Dokładne i nie do pobicia przy różnorodnym towarze w małych ilościach. Szybko robi się jednak męczące: 4000 sztuk to 4000 pociągnięć spustu.
Jeden skan indeksu, ilość z klawiatury. Znacznie szybsze przy paletach i pełnych kartonach, a błąd przenosi się z pomyłkowego skanu na pomyłkowe wpisanie — czyli na ten rodzaj błędu, który ludzie faktycznie zauważają.
Rozsądna zasada: skanuj sztuka po sztuce, dopóki na lokalizacji jest mniej niż mniej więcej dwadzieścia sztuk jednego indeksu, powyżej przechodź na indeks plus ilość. Sam próg jest mniej istotny niż to, żeby ustalić go przed startem — inaczej dwie osoby policzą tę samą alejkę dwiema metodami.
Licz w ciemno i zatrzymaj ruch
Dwie zasady oddzielają spis, któremu można ufać, od takiego, któremu nie można.
Nie pokazuj liczącemu ilości oczekiwanej. Jeśli w arkuszu jest 40, osoba, która naliczy 38, najpierw poszuka dwóch brakujących, zanim cokolwiek zapisze. To nie jest nieuczciwość, tylko normalne działanie uwagi — i zamienia realną rozbieżność w czysty arkusz z ukrytym problemem.
Zatrzymaj ruch towaru albo rejestruj go osobno. Jeśli w trakcie liczenia trwa kompletacja, każda różnica staje się dyskusyjna. Kiedy nie da się wstrzymać pracy, prowadź osobny rejestr wszystkiego, co się ruszyło w tym oknie, i rozlicz go wprost.
Rozliczenie: najpierw czytaj minusy
Zestaw stan oczekiwany z policzonym i pozwól różnicy zrobić robotę:
| Kod | Oczekiwane | Policzone | Różnica |
|---|---|---|---|
| 5901234123457 | 40 | 38 | −2 |
| 4006381333931 | 12 | 14 | +2 |
Minusy bierz przed plusami. Niedobór ma prawie zawsze jedno z trzech nudnych wyjaśnień: pozycja leży w drugiej lokalizacji, której nikt nie zeskanował, została policzona pod innym kodem, albo skan się nie zarejestrował. Kradzież jest daleko dalej, a traktowanie jej jako pierwszego wyjaśnienia zatruwa inwentaryzację.
Jedna sygnatura warta zapamiętania: podwójny skan. Czytnik wyzwala się szybciej, niż palec puszcza spust, więc pozycja czasem przechodzi dwa razy. W dzienniku widać to od razu — ten sam kod, ta sama lokalizacja, znaczniki czasu w odstępie sekundy lub mniej. W kolumnie ilości edytowanej na żywo jest to niewidoczne i wygląda dokładnie jak prawdziwa nadwyżka.
Jak zbudować ten arkusz: trzy zakładki i cztery formuły
Cała inwentaryzacja w Excelu mieści się w trzech zakładkach. Nic więcej nie jest potrzebne i każda dodatkowa zakładka to miejsce, w którym liczby zaczną się rozjeżdżać.
| Zakładka | Co zawiera | Kto ją wypełnia |
|---|---|---|
| Stan | kolumna A: kod, kolumna B: ilość oczekiwana | eksport z systemu, przed spisem |
| Skany | czas, lokalizacja, kod, liczący — jeden skan, jeden wiersz | czytnik w trakcie liczenia |
| Różnice | kod, oczekiwane, policzone, różnica | formuły, po zamknięciu liczenia |
W zakładce Różnice wpisz w kolumnie A listę kodów (skopiuj z zakładki Stan), a dalej:
B2 oczekiwane =JEŻELI.BŁĄD(X.WYSZUKAJ(A2; Stan!$A:$A; Stan!$B:$B); 0)
C2 policzone =SUMA.ILOCZYNÓW(--(Skany!$C$2:$C$100000=A2))
D2 różnica =C2-B2
E2 sygnał =JEŻELI(LICZ.JEŻELI(Stan!$A:$A; A2)=0; "brak w kartotece"; "")
⚠️ Dlaczego SUMA.ILOCZYNÓW, a nie LICZ.JEŻELI. To jest ta sama pułapka co z zerami wiodącymi, tylko groźniejsza, bo cicha. LICZ.JEŻELI konwertuje tekst wyglądający jak liczba na liczbę, zanim porówna — a Excel przechowuje liczby z dokładnością 15 cyfr znaczących. Kod SSCC ma ich 18. Dwa różne opakowania, których numery różnią się dopiero na 16. cyfrze, po konwersji stają się tą samą liczbą i LICZ.JEŻELI policzy je razem. Zapis SUMA.ILOCZYNÓW(--(zakres=kod)) porównuje tekst dosłownie i tego problemu nie ma. Przy 13-cyfrowych EAN-ach różnicy nie zobaczysz; przy etykietach logistycznych zobaczysz ją jako nadwyżkę jednego towaru i niedobór drugiego — czyli dokładnie tak, jak wygląda kradzież.
Kolumna sygnał jest ważniejsza, niż się wydaje: wyłapuje kody, które ktoś zeskanował, a których nie ma w kartotece. To zwykle towar przyjęty i nierozliczony albo etykieta z innego magazynu — i jedyny moment, w którym da się to wyjaśnić, jest wtedy, gdy paleta jeszcze stoi w alejce.
Inwentaryzacja w Excelu bez czytnika
Jeśli czytnika nie ma, zmienia się jedna rzecz: kody wpisuje człowiek albo aplikacja na telefonie eksportująca CSV. Cała reszta — trzy zakładki, dziennik zamiast kolumny ilości, liczenie w ciemno, minusy przed plusami — zostaje bez zmian, bo te zasady nie wynikają ze sprzętu, tylko z tego, że spis musi dać się później zweryfikować.
Dwie różnice praktyczne, o których warto wiedzieć z góry:
- Sekcja o sufiksie Cię nie dotyczy — Enter naciska palec. Za to dochodzi błąd, którego czytnik nie popełnia: literówka w kodzie. Kolumna „sygnał" wyżej wyłapuje ją jako „brak w kartotece", więc nie zniknie w sumach.
- Liczenie zwalnia mniej więcej pięciokrotnie, więc tryb „licz w ciemno" jest jeszcze ważniejszy: przy ręcznym wpisywaniu pokusa, żeby zerknąć w stan oczekiwany i „potwierdzić", jest największa — a to zamienia spis w potwierdzanie kartoteki zamiast liczenia towaru.
Gdzie ta metoda się kończy
Uczciwie o ograniczeniach: spis w arkuszu to zdjęcie zrobione przez zaufane osoby. Bez uprawnień, bez obsługi jednoczesnej pracy, bez historii poza tym, co akurat zapisze dziennik.
Sygnały, że przerosłeś to rozwiązanie:
- do arkusza musi pisać kilka osób jednocześnie;
- potrzebujesz poprawnych stanów między inwentaryzacjami, nie tylko w dniu spisu;
- ktoś pyta, kto zmienił liczbę, a plik nie umie odpowiedzieć;
- dziennik przekroczył około stu tysięcy wierszy, a tabela przestawna stała się najwolniejszym momentem dnia.
Żaden z tych punktów nie jest powodem, żeby nie zaczynać od Excela. Są powodem, żeby wiedzieć, czym go zastąpisz.
Oznacz to, co będziesz liczyć następnym razem
Większość bólu przy inwentaryzacji bierze się z pozycji, które nigdy nie zostały porządnie oznaczone. Spis to naturalny moment, żeby to nadrobić — i tak bierzesz wszystko do ręki raz.
Do wydruku etykiet seryjnie wklej albo zaimportuj kody jako CSV, wybierz układ odpowiadający arkuszom, które masz, i wydrukuj wszystko za jednym razem. BarcodeReady obsługuje generowanie zbiorcze na arkuszach Avery A4 (L7160, 3×7; L7163, 2×7; L7651, 5×13) i w formacie Letter (5160, 3×10 po 2,625″×1″; 5163, 2×5) oraz na rolkach DYMO — kody trafiają więc na geometrię etykiety, którą faktycznie masz, zamiast być przeskalowane i tracić proporcje, od których zależy odczyt.
Dwie rzeczy do przypilnowania przy druku: zostaw kody w skali 100% zamiast „dopasuj do strony" i nie naruszaj stref ciszy. Etykieta, która skanuje się na biurku, a nie skanuje na jadącej palecie, to prawie zawsze jedno z tych dwóch.
W skrócie
Ustaw sufiks czytnika na Enter. Sformatuj kolumnę jako Tekstową przed pierwszym skanem. Zapisuj jeden skan na wiersz i podsumowuj dopiero na końcu. Licz w ciemno, zatrzymaj ruch i najpierw czytaj różnice ujemne.
Nic z tego nie jest trudne. Wszystko razem stanowi różnicę między spisem zamkniętym do południa a spisem, który trzeba powtórzyć.