MOJE POSTRZEGANIE UŻYCIA MS EXCEL
Zajmuję się arkuszem już bardzo długo. Jego zastosowaniem, udoskonalaniem, tworzeniem narzędzi, ktore stosuję do budowy robotów.
Pierwszą książkę z PRZYKŁADAMI ZASTOSOWANIA napisałem i wydałem w 1993 roku.
Wtedy pojawiały się książki tylko z opisem narzędzia. U mnie były przykłady i praktyka…
… praktyka, bo wcześniej w jednej z łódzkich firm wdrożyłem rozwiązania do:
- rozliczania płac (system płacowy),
- ustalenia ilości banknotów, które należało przywieźć z banku, a potem wypłacić pracownikom – to rozwiązanie robiłem około pół godziny, a miesięczne oszczędności czasu (wcześniej to było robione ręcznie) to około 50-60h/miesiąc,
- rozliczenia kalkulacji kosztów,
- system środków trwałych,
takie przykłady zamieściłem w książce.
Wtedy to było coś. Do tej pory dostają zwrotne informacje, na portalach społecznościowych, że ta książka pomogła różnym osobom otworzyć oczy na to co można zrobić w arkuszu (i jak łatwo)... a to był 1993 rok.
Tu najważniejsze: ukończyłem studia informatyczne, potem pracowałem w Katedrze Informatyki Wydziału Zarządzania Uniwersytetu Łódzkiego
Dla moich nauczycieli, a potem kolegów naturalnym było, ze informatyka musi pomagać – automatyzować pracę.
Toteż wielkie było moje zdziwienie (i jest do tej pory), jak widzę szkolenia z Excel, które uczą pracy ręcznej w Excel.
I… część osób, które ukończyły szkolenie z pracy ręcznej w MS Excel sądzi, że tak się pracuje w MS Excel i nie dopuszcza faktu, że ktoś mógł wprowadzić ich w błąd.
Przykład 1.
Chcąc pokazać różnicę między tymi sposobami używania MS Excel przedstawię narzędzie do wypełniania komórek (Ctrl E).
Wiele osób może sądzić, że to narzędzie do automatyzacji, a to tylko narzędzie, które pomaga w pracy ręcznej w MS Excel.
Do komórek kol. B (B16:B12) zostały wprowadzone symbole tekstowe (zobacz Rysunek nr 1).
Rysunek nr 1. Przykład (narzędzie Ctrl E).
Możesz również, aby sprawdzić działanie, ściągnąć plik Ctrl_E.xlsm i... poćwiczyć.
Wszystkie dane (symbole) zostały poprzedzone apostrofem.
Te dane zostały skopiowane do komórek w kol. E. W komórce F6 wprowadzono datę (wzorcową do zamiany). Po ustawieniu się w komórce F6 i użyciu Ctrl E… narzędzie generuje błędne daty. Proszę spróbować.
Zaproponję usunięcie błędnych danych z komórek F7:F12 i wpisaniu do komórki F7 (28.09.2023). Teraz w komórkach F6 i F7 są dwie poprawne daty (wzorzec zasad zamiany tego co jest w kol. E na to co ma być w kol. F). Należy uaktywnić komórkę F6 lub F7 (zaznaczenie równocześnie obydwu komórek nie spowoduje poprawnego działania) i użyć ponownie Ctrl E i… też w niektórych komórkach są błędy.
Na przykład, w komórce F9 pojawiła się błędna data 23.10.2023.
Po edycji zawartości komórki F9 (klawisz F2) i poprawieniu dnia w dacie na: 03.10.2023, wszystkie pozostałe błędy w kolejnych komórkach kol. F automatycznie zostaną poprawione (MS Excel pamięta, że zostało użyte Ctrl E).
Proponuję samodzielnie sprawdzić.
Łatwo jest wyciągnąć wniosek, że użytkownik musi uczestniczyć w procesie weryfikacji poprawności zamiany realizowanej za pomocą Ctrl E. Do zamiany potrzebne jest użycie klawiatury – trzeba wprowadzić wzorzec, ustawić się we właściwej komórce i użyć Ctrl E, a potem analizować poprawność i wprowadzać poprawki.
Można wyobrazić sobie sposób, w którym do komórki C2 zostanie wprowadzona formuła (zobacz Rysunek nr 1) i będzie ona kopiowana automatycznie do komórek zakresu C6:C12 (lub zakresu z inną liczbą wierszy, jeśli będzie więcej lub mniej symboli dat w kolumnie B).
Wtedy, przy założeniu, że symbole dat we wszystkich komórkach kolumny B są poprawnie wpisane, zdecydowanie lepszym rozwiązaniem jest wypełnianie za pomocą makra napisanego w języku Visual Basic (zobacz Rysunek nr 2).
Rysunek nr 2. Makro do automatyzacji.
Makro kopiuje kolejno wszystkie wypełnione komórki z drugiego wiersza do poszczególnych wierszy rejestru i zamienia je na wartości.
Można sobie też wyobrazić, że używane jest makro, które czyści kolumny B i C, a potem automatycznie transmituje dane do kolumny B. A dopiero kolejną funkcjonalnością takiego makra będzie to, które zostało przedstawione powyżej. Robot, który realizuje te funkcjonalności działa zdecydowanie szybciej niż ręczne czyszczenie zakresu komórek, kopiowanie danych za pomocą Ctrl C + Ctrl V (+ kopiowanie z zamianą na wartości) oraz wykorzystanie Ctrl E (+ poprawianie), czyli wspomaganie autmatyczne pracy ręcznej w Excel .
To jest różnica między automatyzacją pracy (dzięki zastosowaniu robota), a wspomaganiem pracy ręcznej w Excel.
Wniosek: nie ma potrzeby używania Ctrl E. Trzeba używać alternatywne inne (lepsze - automatycznie działające) narzędzia.
Oceniłem - porównałem rozwiązanie wypełniania komórek: Ctrl E z makrem.
Kryterium oceny to jakość użytkowania rozwiązania. W tym przypadku jako krytrium oceny wykorzystałem tylko jeden z elementów jakości: istnienie automatyzacji (czyli szybkość rozwiązania problemu otrzymywania dat).
Jakość rozwiązania (robota) to nie tylko fakt automatycznego działania, które jest lepszą alternatywą od pracy ręcznej lub półautomatycznej. Jakość to również inne cechy robota.
Według norm ISO (na przykład pierwszej: ISO 9126) jest kilka cech (równie ważnych) jakości oprogramowania.
Między innymi: czytelność, elastyczność, bezpieczeństwo, szybkość działania…
Dlaczego?
Bo pewnie każdy chciałby mieć zrozumiałe, łatwe w użyciu, bezpieczne w działaniu narzędzie informatyczne, których budowa jest prosta i można byłoby takie narzędzie łatwo modyfikować (dopasowywać do zmieniających się warunków rzeczywistości). To powinien być standard, norma... ...wiele osób, poświęciło dużo energii po to, aby powstały normy jakości oprogramowania (chylę czoła przed jednym z nich: McCall).
A co ja robię?
Staram się stosować normy jakości oprogramowania w praktyce (w budowie robotów w MS Excel) - stąd neguję wiele sposobów rozwiązań, które nie spełniają norm + wiele narzędzi MS Excel, które, zastosowane, obniżają jakość rozwiązania.
Podobnie można przeanalizować inne narzędzia w Excel i ocenić czy realizują automatyzację (nadają się do budowy robotów), czy nie + czy rozwiązania mają cechy zawarte w normach jakości.
Okazuje się, że większość elementów Excel w ogóle nie ma potrzeby używać. Część elementów można zastosować, a część nie nadaje się do automatyzacji i trzeba je zastąpić innymi narzędziami.
Dlatego właśnie na przestrzeni lat zbudowalem różne narzędzia, które realizują potrzebne funkcjonalności:
- zastępujące narzędzia w MS Excel, ale lepszej jakości,
- takie których nie ma w MS Excel.
Narzędzia, są zbudowane w łatwy sposób i za pomocą prostych elementów MS Excel (muszą być łatwe w analizie i modyfikacji).
Uczę projektowania i budowy takich narzędzi na prowadzonych przeze mnie warsztatch.
Jeśli zainteresowałem, to pełne oferty z programami są w zakładce Terminy Terminy warsztatów
Przykład 2.
Elastyczność rozwiązania
Do tworzenia funkcjonalności: relacji (za pomocą funkcji) można użyć:
- MATCH i INDEX (PODAJ.POZYCJĘ i INDEKS) (zobacz Rysunek nr 3, w. 11-13),
- VLOOKUP (WYSZUKAJ.PIONOWO) (zobacz w. 15-16),
- XLOOKUP (X.WYSZUKAJ) (zobacz w. 18-19).
Na Rysunku nr 3 jest porównanie relacji zrealizowanej za pomocą w/w funkcji. Proponuję pobrać plik wyszukaj.xlsx
Rysunek nr 3. Porównanie działania funkcji WYSZUKAJ.PIONOWO z funkcjami PODAJ.POZYCJĘ I INDEKS (przed i po dostawieniu dodatkowej kolumny).
Część 1. Wiek i płaca Jana (F2) zostały wybrane różnymi sposobami i są takie same (zobacz komórki: F12, F15 i F18 oraz komórki: F13, F16 i F19).
Część 2. Pomiędzy kol. B i C została dostawiona kolumna.
Efekt:
- wszystkie komórki na prawo od kolumny C zostatały przesunięte (są w innych kolumnach),
- w komórkach na prawo od kol. C zmieniły się adresy w formułach.
Zmienił się wynik działania formuły w komórkach: G15 i G16 (poprzednio komórki F15 i F16). Wynik funkcji WYSZUKAJ.PIONOWO w komórce G15 jest równy 0, poprzednio był równy 36 (w komórce F15). W komórce G16 wynik jest 36, a poprzednio 6200 (w komórce F16). Wyniki funkcji PODAJ.POZYCJĘ, INDEKS oraz X.WYSZUKAJ nie zmieniły się (zob. Rysunek nr 3, Część 2).
Wniosek: Funkcja WYSZUKAJ.PIONOWO nie jest elastyczna, nie działa poprawnie po zmianie struktury danych (dodaniu nowej kolumny).
To oznacza, że używając tej funkcji traci się czas przy modyfikowaniu rozwiązania (ponieważ błąd należy zidentyfikować i poprawić).
W niewielkim przykładzie można łatwo zauważyć błędy i szybko je poprawić. W rozwiązaniach wieloarkuszowych jest zdecydowanie gorzej.
Zastosowanie WYSZUKAJ.PIONOWO powoduje, że po zmianie struktury danych trzeba przejrzeć wszystkie arkusze i sprawdzić wystąpienie błędu.
Z praktyki wiemy, że zmiany w rozwiązaniach robi się często, a to oznacza, że używając funkcji WYSZUKAJ.PIONOWO, poświęca się (traci) czas na szukanie i korygowanie błędów. Zatem rezygnujemy z używania z tej funkcji.
Porównując użycie pozostałych funkcji: X.WYSZUKAJ z PODAJ.POZYCJĘ i INDEKS należy zwrócić uwagę, na ich możliwości:
- INDEKS(zakres; PODAJ.POZYCJĘ(…);PODAJ.POZYCJĘ(…))
pozwala na wyszukanie wartości z dwuwymiarowego zakresu, co nie jest możliwe przy użyciu X.WYSZUKAJ.
- Wybranie wartości nie ze znalezionego wiersza, tylko z wiersza poprzedniego/następnego to:
-- INDEKS(zakres; PODAJ.POZYCJĘ(…)-1)
-- INDEKS(zakres; PODAJ.POZYCJĘ(…)+1), nie da się do tego celu użyć X.WYSZUKAJ.
- Użycie funkcji PODAJ.POZYCJĘ raz, a potem wykorzystanie jej wyniku w wielu funkcjach INDEKS działa szybciej, niż X.WYSZUKAJ.
I na koniec o sposobie zastosowania funkcji PODAJ.POZYCJĘ. Jeśli w drugim parametrze będzie podana cała kolumna, to wynik działania funkcji: numer pozycji jest jednocześnie numerem wiersza, z którego funkcja/funkcje INDEKS będą pobierały informacje. Taki sposób pozwala na szybszą analizę przepływu informacji (gdyby w drugi parametr funkcji PODAJ.POZYCJĘ nie zaczynał się w pierwszym wierszu, to czas analizy strumienia informacji wydłużyłby się (bo numer pozycji nie byłby równy numerowi wiersza i aby sprawdzić poprawność wyszukania należałoby przeliczać ręcznie). Stosując funkcję X.WYSZUKAJ nie ma możliwości takiego sprawdzenia. To są powody, dlaczego nie używam funkcji X.WYSZUKAJ.
Przykład 3.
Przykład nadmiernej złożoności
Bardzo często oglądam różne rozwiązania i widzę niepotrzebne komplikowanie formuł.
Na przykład, często powtarza się schemat przedstawiony (poniżej):
Załóżmy, że prowadzimy rejestr, w którym część danych jest wpisywanych, a część liczonych za pomocą formuł. Pobierz plik Logika.xlsx znajduje się tam przykład. W kolejnych arkuszach są rozwiązania opisane poniżej. Zapraszam do analizy.
Bywa tak, że kolejne wyliczone wartości zależne są od spełnienia lub niespełnienia warunku (naturalnym jest, że użytkownicy stosują funkcję JEŻELI). I tak, często widzę formułę w postaci (tu przykładowo T4 i późniejsze wykorzystanie U4):
T4: =JEŻELI(warunek; ”TAK”; ”NIE”)
a potem w kolejnych kolumnach
U4: =JEŻELI(T4=”TAK”; wartość_1; wartość_2).
(zobacz Arkusz1)
Często argumentem jest: konieczność prezentacji wskaźnika (tu w kolumnie T), a to oznacza, że w tym przypadku użytkownik musi widzieć, czy sposób rozliczenia to określony sposób, czy nie.
Ja proponuję mniej złożony sposób zapisuy podobnej funkcjonalności, który wykorzystuje wartości logiczne: PRAWDA/FAŁSZ (po to one są); ten sposób jest łatwiejszy i działa szybciej.
T4: =warunek (formuła, która daje w wyniku wartość logiczną: PRAWDA lub FAŁSZ)
U4: =JEŻELI(T4; wartość_1; wartość_2)
W nagłówku kolumny T powinien być tekst kończący się znakiem zapytania, aby jednoznacznie określał znaczenie wartości w kolejnych wierszach kolumny T.
(zobacz Arkusz2)
Jeśli tylko raz wykorzystany jest wynik warunku i użytkownik stwierdzi, że nie ma potrzeby mieć dodatkowej kolumny ze wskaźnikiem, to można nie tworzyć kolumny z wartościami logicznymi, tylko bezpośrednio, na podstawie warunku policzyć wartość:
U4: =JEŻEL I(warunek; wartość_1; wartość_2)
(zobacz Arkusz3)
Zwracam uwagę, że:
* komplikowanie formuł wpływa na zwiększenie czasu analizy, modyfikacji rozwiązania, a także przy dużej liczbie formuł wydłuża czas przeliczania.
* złożone i długie formuły dłużej się analizuje, nie ma wyników pośrednich, które są ważne do analizy sprawdzania poprawności działania; zobacz przykład wykorzystania PODAJ.POZYCJĘ i INDEKS; jeśli te funkcje będą użyte w osobnych komórkach, to (dzięki widocznemu wynikowi funkcji PODAJ.POZYCJĘ) łatwiej sprawdzić, z której komórki funkcja INDEKS pobiera wartość.
* nazywanie zakresów nie sprzyja szybkiej analizie formuł; przy większej liczbie nazw nie jest możliwe łatwe zarządzanie nimi; dlatego to kolejny element arkusza, którego nie powinno się stosować (przeszkadza, a nie pomaga).
Wszyscy wiemy, że jeśli problem do zrealizowania będzie przemyślany i zostanie przygotowany plan działania (projekt), czyli zapis kolejnych funkcjonalności, które należy zastosować w rozwiązaniu oraz przełożenie projektu na zapis w MS Excel, to zadanie szybciej zostanie wykonane, a prawdopodobieństwo jego należytej jakości będzie większe.
Zasada przygotowanie (zapisania) w punktach, kolejnych kroków (kolejnych działań) dotyczy również projektów w Excel.
Jeśli nie będzie projektu (czyli praca polega na tym: co się przypomni, będzie zapisywane w MS Excel), to działania sprowadzają się do cyklu: tworzenia i poprawiania – powtarzanego wiele razy i w różnej skali. Wtedy, wydłuża się proces tworzenia rozwiązania, a prawdopodobieństwo uzyskania jego właściwej jakości jest bardzo niskie. Dlatego już na początku procesu dydaktycznego trzeba wprowadzać elementy projektowania + zasady oceny rozwiązań.
Przyswajanie tylko wiedzy na temat technicznych możliwości narzędzi powoduje ukształtowanie się nawyków, niekoniecznie najszczęśliwszych, a takie należy eliminować. Usuwanie złych nawyków jest trudniejsze niż kształtowanie od razu (na początku procesu dydaktycznego) nawyków logicznie uzasadnionych. Tu polecam wiedzę o neuroplastyczności (działaniu) mózgu, czyli jak kształtują (tworzą) się nawyki, jak się utrwalają i jak mózg postępuje z nawykami (również nałogami). To są podstawowe powody, że należy jak najwcześniej uczyć się lepszych rozwiązań oraz ich samodzielnej oceny według kryterium jakości (jakość oprogramowania określają normy ISO).
Ciut potrzebnej wiedzy o tworzeniu projektu - planu działania...
...aby przygotować projekt (oczywiście uwzględniający należytą jakość rozwiązania), potrzebna jest wiedza jak powinny być zrealizowane poszczególne funkcjonalności, które w takim planie należy umieścić, a potem wykorzystać przy budowie.
Całość projektu (w dużym uproszczeniu) sprowadza się do:
- ustalenia wyobrażenia/wizji działania robota w MS Excel,
- zapisania wizji działania w postaci poszczególnych funkcjonalności – to jest projekt,
- przełożenia funkcjonalności na ich implementację w MS Excel.
Na Rysunku został przedstawiony ogólny schemat, który stosuję do projektów, taki sposób pomaga ustalić wyobrażenia działania projektu.
Rysunek nr 4. Schemat standardowego podzialu rozwiązania/robota na cześći (arkusze) wg Metodyki 4TG. Idea podziału.
RÓŻNICA MIĘDZY MOIMI WARSZTATAMI, A SZKOLENIAMI Z MS EXCEL
Na ogół na różnych szkoleniach z Excel pokazywane są tylko aspekty techniczne MS Excel.
Logicznym jest, że jeśli ktoś posiadłby nawet dużę wiedzę techniczną o działaniu arkusza, a nie będzie miał wiedzy merytorycznej na temat projektowania i budowy robotów i organizacji tego procesu (tworzenia automatyzacji) to i tak będzie miał kłopoty ze zbudowaniem dobrego rozwiązania.
Dlatego na moich warsztatach, pokazuję tylko wybrane elementy techniczne MS Excel, które najczęściej uczestnicy znają i używają. Jednak przede wszystkim uczę organizacji, zasad projektowania, zasad budowy (sposobów wykorzystania tej niewielkiej liczby elementów), umiejętności oceny rozwiązania, czy oceny określonej funkcjonalności (pod względem zachowania odpowiedniej jakości). Z tego powodu na warsztatach są głównie przykłady, na których w/w pokazuję.
I jeśli posiadasz: sprawność techniczną posługiwania się Excel (swoboda posługiwania się kalwiaturą/myszą w środowisku MS Excel, umiesz stosować w odpowiednich miejscach właściwe formuły (w tym funkcje), to zapraszam od razu na warsztaty PE1 (Projektowanie i budowa robotów wg Metodyki 4TG...) - szybkie tempo prowadzenia warsztatów.
Jeśli brakuje Ci takiej pełnej swobody, ale umiesz wprowadzać formuły, znasz około 10 funkcji i umiesz je używać, to zapraszam na warsztaty wPE (Wstęp do Metodyki 4TG...), na których jest troszkę elementów technicznych MS Excel (używanych w Metodyce 4TG), ale nie dominują.
Więcej wasztatów ich opis, jest w pliku 24Wazne.xlsx
oraz na stronie Terminy warsztatów
Używam poniżej 1% elementów, tych które są dostępne w pakiecie MS Excel. I tylko tyle wystarcza do realizacji wszystkich potrzebnych funkcjonalności. Za pomocą tak małej ilości elementów tworzę roboty, które mają wszystkie potrzebne funkcjonalności. I nie tylko łatwo się je używa, ale również (głównie dzięki temu że korzystam z małej ilości samych prostych elementów Excel) łatwo się je rozumie i szybko analizuje rozwiązanie. To jest inna filozofia pracy niż tak, którą preferuje producent Excel (MS tworzy trudne narzędzia, dla specjalistów… bo dla MS, niestety, liczy się kasa, a nie jakość rozwiązań).
Dwie z moich zasad, które stosuję to:
IM MNIEJ ELEMENTÓW EXCEL STOSUJESZ (zachowując potrzebne funkcjonalności), TYM ŁATWIEJ ZROZUMIESZ ROZWIĄZANIE
IM ŁATWIEJSZE ELEMENTY STOSUJESZ, TYM SPRAWNIEJ MOŻESZ POPRAWIĆ (ZMODYFIKOWAĆ) ROZWIĄZANIE
Zrobiłem wiele narzędzi (prostymi elementami arkusza, Visual Basic i SQL), które realizują potrzebne funkcjonalności (takie, które w MS Excel są kiepsko zrobione, albo nie ma ich wcale). Przy tworzeniu narzędzi skupiam uwagę na zasadach projektowania struktur danych oraz wykorzystaniu zasad, które powodują utrzymanie jakości tych narzędzi, co przekłada się na jakość robotów.
Określiłem proste zasady organizacji i działań na strukturach danych i dzięki temu stosuję (już gotowe) narzędzia w Visual Basic (do automatyzacji tych działań). Narzędzia, które są łatwe i prosto zbudowane.
O PROJEKTACH
Kilka dekad tworzenia rozwiązań (teraz robotów) w MS Excel spowodowało, że wypracowałem gotowe narzędzia, tak aby szybciej realizować projekty i uzyskiwać większą jakość rozwiązań. Oprócz narzędzi wypracowałem metodykę tworzenia rozwiązań (nazwałem ją Metodyka 4TG). Są to zasady, metody i sposoby tworzenia automatycznie działających rozwiazań (robotów) o określonej jakości. Według tych zasad tworzę projekty. Ostatnio sporo czasu poświęciłem na analizę warunków otoczenia na łatwość/trudność pracy nad rozwiązaniem.
Zacząłem zwracać uwagę na założenia, sposób ich przedstawienia przez osobę decyzyjną (sposób komunikacji) - to wiele mówi o tym, czy będzie się z taką osobą dobrze współpracowało.
Mam kilku stałych klientów, z którymi pracuję od wielu lat i widzę, że po drugiej stronie jest wiedza i zrozumienie, że ja merytorycznie mogę czegoś nie wiedzieć.
Tam nie ma strat czasu z tytułu komunikacji. Spotkałem też takich klientów, z którymi nie sposób się porozumieć (głównie przez brak zaangażowania w pracę nad projektem, czy niską wiedzę o możliwościach narzędzia Excel, o metodach jego wykorzystania + brak chęci do uzupełnienia tej wiedzy, wskazane byłyby również kompetencje w zarządzaniu projektami).
Inny problem to brak praktycznego rozumienia pojęcia: jakości rozwiązania. Jest tak dlatego, że rozwiązania niskiej jakości można zrobić szybciej, niż rozwiązania realizujące te same merytoryczne funkcjonalności, ale z wysoką jakością. Jeśli rozwiązanie zostanie kiepsko zaprojektowane, to będą z nim później problemy więc w tym kontekście ocena poprzez czas realizacji nie do końca jest uzasadniona (aby uzyskać większą jakość należy przeznaczyć na projekt więcej czasu).
____
Chcąc utrzymać odpowiednią jakość rozwiązań i zwiększyć możliwości narzędzia MS Excel, w prowadzonej przeze mnie pracowni, powstają różne narzędzia. Między innymi:
* Język 4TG.
Język 4TG, służy do tworzenia robotów. Za pomocą instrukcji języka zapisuje się funkcjonalności robota.
Tworząc robota w języku 4TG:
- oszczędza się dużo czasu,
- łatwo uzyskuje się czytelność rozwiązania, czyli łatwość w analizie i rozumieniu działania robota,
- narzędzia, które się stosuje powodują, że rozwiązanie jest elastyczne (przy zmianach w strukturze danych rozwiązanie dalej dobrze działa),
dzięki temu robota można modyfikować (wg zasad Metodyki 4TG) bez obawy, że zmiana spowoduje późniejsze niewłaściwe działanie,
- można uzyskać funkcjonalności, do których nie ma narzędzi zbudowanych w MS Excel, a niektóre funkcjonalności będące w MS Excel zdecydowanie lepiej działają.
Wcześniej, przed powstaniem języka, stworzyliśmy narzędzia w Visual Basic, które realizowały potrzebne funkcjonalności do budowania automatycznie działających rozwiązań.
Instrukcje języka 4TG wykorzystują te narzędzia. Dzięki temu funkcjonalności te można łatwo wykorzystać z poziomu instrukcji napisanych w komórkach arkusza.
Instrukcje wybiera się z listy, po wyborze pojawia się opis jej działania tak,
aby można było szybko zrozumieć czy w danym przypadku można tą instrukcję użyć i w jaki sposób.
Po akceptacji wybranej instrukcji, oprócz umieszczenia jej nazwy w komórce arkusza, automatycznie rezerwowane są komórki do wpisania parametrów tej instrukcji.
Dzięki zastosowaniu języka 4TG czas projektowania i tworzenia robota w MS Excel zdecydowanie się skraca.
Oprócz tego wzrasta stopień rozumienia działania rozwiązania - rozwiązanie napisane z wykorzystaniem języka jest czytelniejsze.
Zadbaliśmy o czytelność - to była główna przyczyna zapisywania potrzebnych funkcjonalności w formie instrukcji języka.
Z kolei duża czytelność rozwiązania powala na łatwą jego analizę i modyfikację, dlatego, że naturalnym jest częste ulepszanie i dopasowywanie robotów do zmieniających się warunków rzeczywistości.
Film z działania języka 4TG jest na stronie:
Jezyk 4TG
(trzeba troszkę przewinąć)
* Serwer EDI (Electronic Data Interchange).
Serwer EDI to narzędzie, które działa na bezobsługowym komputerze. Aplikacje użytkownika wysyłają do realizacji zadania (zadania napisane w języku 4TG).
Robot - serwer EDI ustawia zadania w kolejce, a potem wykonuje zadania sekwencyjnie (jedno po drugim).
Dzięki temu wszyscy użytkownicy, pracują na wspólnych danych. Bez konfliktów związanych z dostępem do nich.
Zastosowań serwera EDI jest mnóstwo, od przepływu informacji w firmie między działami,
do współpracy między firmami (aplikacja w jednej firmie może sprawdzać stan możliwych do zamówienia materiałów/towarów w innej firmie,
zamawiać je, czy kontrolować postęp w realizacji zamówienia).
____
Przykłady realizacji:
* Kilka lat temu zrobiłem narzędzie, które pozwoliło zaoszczędzić 40% czasu obsługi sprawdzania faktur (akceptacji zapłaty).
Narzędzie było przeznaczone do weryfikacji faktur, to znaczy sprawdzenia wykonania transakcji przed ich zapłatą.
Przed wdrożeniem rozwiązania pracownicy kontrolowali faktury w SAP, sprawdzali: czy jest komplet informacji, na podstawie których podejmowana była decyzja o wypłacie należności.
Bywało tak, że faktury w SAP (jeśli nie było akceptacji) były sprawdzane kilkukrotnie w ciągu krótkiego czasu.
Zmieniliśmy organizację pracy.
Faktury były automatycznie doczytywane do rejestru w MS Excel (uzupełniane tylko te, których tam jeszcze nie było), sprawdzane (pracownicy dopisywali informacje,
które były potrzebne do akceptacji wypłaty), automatycznie wpisywana była również data kolejnego sprawdzenia, to znaczy, że zarządzaniem (kolejnością wyboru faktur do sprawdzenia zarządzał model w MS Excel).
* Dla firmy produkcyjnej zaprojektowałem rozwiązanie, które z systemu SAP pobierało dane o planie produkcji (horyzont czasu: tydzień),
zmieniało kolejność wytwarzanych produktów tak, aby zminimalizować czas przezbrojeń linii produkcyjnej i umieszczało zmieniony plan w SAP.
Do optymalizacji wykorzystałem własny algorytm rozwiązujący problem komiwojażera, działa on szybciej, niż wbudowany w MS Excel (w narzędziu Solver).
O DOCHODZENIU DO JAKOŚCI OPROGRAMOWANIA, KTÓRA DECYDUJE O WYGRANEJ
Programuję i uczę programowania ponad 30 lat. Studiowałem informatykę, potem pracowałem w uczelni, w 1993 roku obroniłem doktorat - napisałem język programowanie do automatycznego księgowania. Używałem kilkanaście języków programowania. Obecnie algorytmy zapisuję za pomocą formuł w MS Excel oraz języków: Visual Basic i SQL. Przez ten czas napisałem miliony linijek kodu i setki tysięcy formuł.
Rozumienie czytelności oprogramowania zmieniało się u mnie w czasie. Pozbyłem się większości niepotrzebnych elementów MS Excel, które tworzą rozwiązania mało czytelne, albo powodują niepotrzebne trudności w przypadku koniecznej modyfikacji. Tak, aby Ci co analizują moje rozwiązania mogli je łatwo zrozumieć i modyfikować. Wykorzystuję proste algorytmy oraz łatwy ich zapis i… prostymi sposobami rozwiązuję wszystkie możliwe problemy Dlatego kolejne zasady:
BEZ PROJEKTU, JAKOŚĆ OPROGRAMOWANIA JEST SŁABA, A CZAS POŚWIĘCONY NA PRACĘ NAD NIM JEST DŁUGI
IM WIĘCEJ NARZĘDZI STOSUJESZ, TYM TRUDNIEJ JEST NIMI ZARZĄDZAĆ.
Teraz nawiążę do gry w brydża... bo przecież nie chodzi o to, aby się nauczyć grać, tylko nauczyć się wygrywać.
Rysunek nr 6. Nieistotne jest czy umiesz grać, ważne jest czy umiesz wygrać.
I na koniec to, co zmieniam w ustawieniach standardowych na komputerze jak zaczynam pracować w MS Excel, po to, aby było łatwiej używać Exel/VB.
1. W niektórych komputera klawisze funkcyjne są tak ustawione, że w MS Excel chcąc ich użyć należy użyć jeszcze inny klawisz (Fn, Ctrl, Alt lub Shift) – to koniecznie trzeba zmienić. Po to, aby w prosty sposób używać: F2, F4, F9 (to są bardzo często używane przeze mnie, skróty klawiszowe wykorzystujące klawisze funkcyjne). Dlatego nie może być tak, aby gimnastykować ręce i tracić czas na ich użycie.
2. W opcjach zaawansowanych MS Excel: Plik | Opcje | Zaawansoane | Przenieś zaznaczenie po naciśnięcuu klawisza Enter – usuwam zaznaczenie. Wtedy, po wpisaniu dowolnej wartości do komórki, i zastosowaniu ENTER komórka aktywna nie zmienia się, a to znaczy, że po użyciu klawisza F2 można szybko wrócić do edycji (nie trzeba zmieniać komórki). A to pozwala na szybszą pracę. Można również, po wpisaniu danej do komórki użyć strzałkę w dowolnym kierunku (w trybie Wprowadź), a to oznacza, że wpisana wartość zostanie zaakceptowana + aktywna komórka zmieni się (uwaga: w trybie Edycja strzałki inaczej działają).
Proszę spróbować.
3. W edytorze VB zmieniam (włączam)
Tools | Option | Editor | Require Variable Declaration...
… wtedy, przy tworzeniu nowego modułu pojawi się: Option Explicit (na początku modułu). To oznacza większe bezpieczeństwo, ponieważ zastosowanie tego zapisu na początku modułu powoduje, że wszystkie zadeklarowane zmienne są automatycznie sprawdzane przed każdym uruchomieniem (narzędzie wychwytuje literówki w nazwach zmiennych przed uruchomieniem makra). Dlatego użycie tej opcji jest koniecznością (zwiększa się bezpieczeństwo i oszczędza się czas).
PAMIĘTAJ… tworząc cokolwiek, musisz usunąć ze swojego otoczenia wszystko to, co przeszkadza, czy może przeszkadzać, a zdecydowanie szybciej rozwiążesz problem.
ZAPRASZAM NA MOJE WARSZTATY, NA KTÓRYCH ZMIENIAM KIERUNEK MYŚLENIA
- UCZĘ ROZWIĄZAŃ ORAZ BUDOWY ROBOTÓW W MS EXCEL
1. Zainteresowani uczestnicy wypełniają arkusz: PreferowaneTerminy (ostatni) w pliku: 24Wazne.xlsx lub PlanSzkolen.xlsx
W tym arkuszu należy podać prawdopodobieństwo uczestnictwa w wybranych warsztach w każdym z najbliższych tygodni.
Dzięki temu możemy łatwiej zaplanować terminy warsztatów, a potencjalni uczestnicy mają większą szansę na wyznaczenie terminu, który im odpowiada.
2. Po analizie przysłanych informacji z plików podejmujemy próbę wyznaczenia terminu, który jest najdogodniejszy dla większości potencjalnych uczestników.
3. Nawiązujemy kontakt z osobami, które zadeklarowały wybrany termin w celu potwierdzenia uczestnictwa.
4. Wyznaczamy oficjalny termin i w tym terminie wyznaczamy zajęcia + prosimy o wypełnienie zgłoszeń.
aktualne warsztaty:
(wPE) WSTĘP DO METODYKI 4TG (PODSTAWY BUDOWY ROBOTÓW w MS EXCEL)
23-25 października 2024
Pobierz szczegółową ofertę
Pobierz zgłoszenie
Jeśli interesuje Cię uczestnictwo w warsztatach, a nie pasuje Ci termin, to wypełnij plik:
PlanSzkolen.xlsx
UWAGA! mam kilka deklaracji na warsztaty:
Projektowanie i budowa robotów... (PE1)
Budżetowanie i controlling...
Visual Basic for Excel (VB1)
programy warsztatów są w zakładce Terminy
jeśli interesujesz się takimi warsztatami pobierz plik (w pliku jest wiele ciekawych informacji), wypełnij ostatni arkusz (tam możesz podać tematy interesujących Cię warsztatów) i odeślij na podany tam adres, jeśli zbierze się kilka osób, ustalę termin.
Dbamy o to, aby osoby o określonych umiejętnościach dostały się na właściwe warsztaty. Dlatego Rysunek nr 1 zawiera zależność
między umiejętnościami uczestników, a warsztatami.
Jeśli nie wiesz jaki masz poziom umiejętności, to możemy sprawdzić. Możesz pobrać test, wypełnić i wysłać wyniki testu.
Mój robot odczyta wypełniony przez Ciebie test, sprawdzi i w raporcie przedstawi wyniki. Raport prześlę do Ciebie i będziemy wiedzieć więcej.
Rysunek nr 7. Zależność między umiejętnościami uczestników, a rodzajem warsztatów.
Jeśli masz trudność w określeniu poziomu umiejętności to zapraszam do sprawdzenia – do tego wykorzystuję test.
Test jest w pliku
TestExcel_9.xls
.
Test należy:
- przegrać plik na dysk lokalny,
- zmienić we właściwościach pliku zabezpieczenia (w Eksploratorze plików należy kliknąć prawym klawiszem na plik,
wybrać Właściwości, a potem Odblokuj zabezpieczenia – oczywiście, jeśli w danej wersji systemu operacyjnego taka opcja się już znajduje),
- otworzyć MS Excel, a potem użyć: Plik | Otwórz (wybrać plik z testem),
- włączyć makra (rejestrowany jest czas rozwiązania testu - jest ważny do oceny!),
- po podaniu imienia i nazwiska i potwierdzeniu, plik z testem zostaje zapisany z inną nazwą, w której znajdzie się nazwisko,
... reszta informacji w pliku test (trzeba sobie przygotować max 20 minut)
Uwaga, komórki do których nie wpisuje się danych są zablokowane, szerokości kolumn też (trzeba sobie poradzić)
Po rozwiązaniu, proszę przysłać plik - odeślę wyniki.
Plik jest sprawdzany przez robota w MS Excel.
Właściwy dobór osób do grupy jest bardzo ważny, bo to gwarantuje, że wszyscy nauczą się dużo.
Jeśli wybór poziomu warsztatów nie będzie trafny, to trudno o taką gwarancję.
Jeśli nie możesz przyjechać na najbliższe zajęcia?
Przyślij mail na adres 4tg@4tg.pl zapiszę Cię na newsletter.
Pobierz plik
PlanSzkolen.xlsx
Wypełnij (zaproponuj terminy) i przyślij na zamieszczony w pliku adres mailowy.
Jeśli zaproponujesz dogodne dla Ciebie terminy warsztatów, to prawdopodobieństwo, że jeden z nich będzie uwzględniony, jest większe.
Pomagamy naszym klientom w różny sposób:
* uczymy ich postępowania z MS Excel tak, aby nie tracili dużo czasu (w tym uczymy ich projektowania i budowy robotów)… i nie chodzi tu o sprawność techniczną posługiwania się Excel, ale o umiejętności związane z jakością robotów.
* projektujemy i budujemy roboty dla użytkowników wg zasad Metodyki 4TG,
* przeprowadzamy audyty rozwiązań w MS Excel… ostatnie analizy rozwiązań doprowadziły do tego, aby autorzy tych rozwiązań zmienili je wg przedstawionych wytycznych,
* przetwarzamy zdalnie dane dla klientów (wykorzystujemy do tego zrobione przez nas roboty) outsourcing
i je analizujemy.
Nasze roboty potrafią poddać wstępnej, standardowej analizie uzyskiwane raporty.
Na podstawie analizy tworzyć opis i dostarczać raporty do wyznaczonych odbiorców.
Jeśli szukasz analityka, to zapraszamy do hybrydowego sposobu analiz informacji
(część opisów analiz tworzy robot, a część analityk).
Oprócz automatycznego przetwarzania danych dbamy również o narzędzia, które to przetwarzanie realizują.
Po naszej stronie jest ich konserwacja i dostosowanie do zmieniających się potrzeb.
Jeśli zainteresowałem, to zapraszam do współpracy