Jak zorganizować własną bazę danych części? Jak trzymać porządek w warsztacie? Jak szybko sprawdzić, czy posiadamy dany element? Tutaj przedstawię bardzo prosty na to sposób. Wszystko w oparciu Arkusze Google, czyli darmowe, dostępne z każdego miejsca na świecie rozwiązanie. Wszystko online. Starczy w miarę aktualna przeglądarka internetowa no i konto Google.
Założenia
Postawmy na początek sobie jakieś założenia, co chcemy utworzyć:
- jedna strona będzie listą posiadanych części, może dla uproszczenia bez ilości (ew. w kolejnej części to uwględnię)
- kolejne strony to będą strony projektowe, czyli listy części potrzebne do projektów, tzw. BOM (Bill Of Materials)
- arkusz będzie działać tak, że będzie sprawdzać, czy mamy daną część na stanie, jeśli tak, to podświetli ją na zielono, jeśli nie, to na czerwono
Tak jak wspomniałem, na ten moment kwestię ilości części dla uproszczenia pomijam, tym bardziej, że sam raczej np. tranzystorów BC547 mam więcej niż kilka. Nie wykluczam jednak, że to naprawię w kolejnej części.
Tworzenie arkusza, podstawa
W Chrome jest na to fajny skrót - wpisujemy w pasku adresu sheets.new i gotowe:
Jeśli jednak chcecie otworzyć arkusze linkiem, to zapraszam:
https://docs.google.com/spreadsheets/u/0/
Teraz utworzymy dwie strony - jedna będzie listą wszystkich naszych części, a druga listą części do danego projektu - powiedzmy SESE80 (odbiornik radiowy).
Po prostu wklikujemy się w nazwę by ją zmienić.
Tworzymy formatowanie warunkowe
Teraz pora przygotować skrypty. Zasadniczo potrzebne będą dwa:
- jeśli fraza z kolumny nie jest pusta oraz nie występuje w Parts, to kolorujemy tło na czerwono
- jeśli fraza z kolumny występuje w Parts, kolorujemy tło na zielono
Zacznijmy od drugiego przypadku, bo jest... prostszy.
Zaznaczmy kolumnę A na stronie SESE80:
Wchodzimy w Format -> Conditional Formatting:
Upewniamy się, że zakres obejmuje całą kolumnę (tutaj A1 do A1000):
Z warunków wybieramy Custom formula:
Wpisujemy:
=ISNUMBER(MATCH(A1, INDIRECT("Parts!A:A"), 0))
Sprawdzamy, czy MATCH coś znajduje w kolumnie A z parts.
Wybieramy fill color na zielony:
Zapisujemy "Done":
Teraz wpiszmy w Parts jakieś części:
Oraz w arkuszu SESE80:
Działa! Podświetliło się.
Teraz to samo, ale dla brakujących części.
Analogicznie jak wcześniej, tylko nowa formuła:
=AND(A1<>"", ISERROR(MATCH(A1, INDIRECT("Parts!A:A"), 0)))
Mamy już dwie:
Rezultat:
Końcowy test
Tak wypełniłem listę posiadanych części:
A tak listę części do danego projektu:
Skrypt poprawnie podświetlił posiadane oraz brakujące części. Wygląda na to, że wszystko działa.
Podsumowanie
W ten sposób mamy wszystko online i dobrze zorganizowane. Jeśli tylko będziemy skrupulatnie tworzyć bazę naszych części, to przy podjęciu nowego projektu szybko przekonamy się, czy mamy wszystko, co potrzeba.
Jednym z potencjalnych ulepszeń jest tutaj sprawdzanie też ilości części, ale to wiąże się też z potrzebą ręcznej aktualizacji tej ilości w bazie a dodatkowo raczej i tak dobrą praktyką jest mieć po kilka zapasowych sztuk... nigdy nie wiadomo, kiedy wkradnie się błąd, a przecież nawet i ESD może uszkodzić niefortunnie mikrokontroler, itd.
Czy organizuje ktoś z Was projekty w Arkuszach Google? A może ktoś doda wsparcie ilości sztuk części do zaproponowanego systemu? Zapraszam do dyskusji.
PS: Coś podobnego pokazywałem kiedyś w Excelu (wraz z portem do Open Office), ale tam i formuły były inne, i wszystko było lokalnie u nas na komputerze, a nie w przeglądarce:
Prosty sposób na organizację części i projektów w Excelu za pomocą makra
Fajne? Ranking DIY Pomogłem? Kup mi kawę.
