Funkcje bazodanowe w EXCELu
Pierwszy wpis! Więc na początek omówimy temat dość prosty, a zaskakująco mało popularny – funkcje bazodanowe w Excelu.
Wiele osób działając na tabelarycznych zbiorach danych posługuje się funkcjami z rodziny wyszukaj, podaj.pozycję, indeks oraz sumy.częściowe itd. itp. w różnych konfiguracjach. I to jest ok! Ale dlaczego by nie wzbogacić swojego warsztatu metodycznego o dodatkowe narzędzie?
Funkcje bazodanowe „bd.x”, bo o nich będzie mowa, są ciekawym narzędziem do szybkiej analizy danych ustrukturyzowanych. Oferują one możliwość szybkiego i wygodnego wyłuskania danych (przede wszystkim agregatów) wg określonych parametrów. Sposób ich funkcjonowania nieco przypomina budowę języka DQL w bazach danych relacyjnych. Mianowicie użytkownik musi określić zakres danych, które chce przeszukać (SQL-owy „FROM”), kolumnę, która zostanie obliczona (SQL-owy „SELECT”) oraz kryteria filtrujące (SQL-owy „WHERE”). Ale dość suchej teorii, przejdźmy do praktyki i przykładów 😉
Przypuśćmy, że współpracujemy z ok. 40 sklepami. Chcemy dowiedzieć się jak wygląda sytuacja naszej działalności. W tym celu dostaliśmy zbiór informacji na temat wykonanej sprzedaży przez handlowców, dotyczącej pewnej gamy produktów. Dodatkowo posiadamy informacje o dacie transakcji, jej wartości i zrealizowanej marży. Zbiór danych przedstawia się następująco:

Przejdźmy teraz do analizy. Powiedzmy, że chcemy się dowiedzieć jaki był przychód z tyt. sprzedaży Kaszy przez D. Nowaka. Pierwsze podejście oprzemy o powszechnie stosowaną funkcję: =SUMA.WARUNKÓW(C2:C200;E2:E200;”D. Nowak”;B2:B200;”Kasza”). Funkcja zwróciła następujący wynik:

A teraz spróbujmy zaprzęgnąć do obliczeń funkcję bazodanową. Oczekujemy informacji o wartości łącznej, więc właściwym wyborem będzie funkcja bd.suma(), która przyjmuje 3 argumenty (baza_danych;pole;kryteria). Odwołując się do wcześniejszej analogii do SQL-a mamy potraktujmy nasze zapytanie jak odpytanie bazy danych. Pierwsza pozycja to „FROM”, który wskazuje na obszar będący przedmiotem analizy (UWAGA – bardzo ważne jest aby zaznaczyć dane ilościowe/jakościowe razem z nagłówkami). Kolejna pozycja (pole) możemy skojarzyć z instrukcją „SELECT”. Wskazujemy którą wartość wybieramy do obliczeń. I wreszcie kryteria, czyli nasz upragniony „WHERE” zawężający wybór do kryteriów, które nas interesują.
W praktyce wygląda to następująco:


Załóżmy jednak, że jesteśmy bardziej dociekliwi i chcemy się dowiedzieć ile było transakcji we wszystkich sklepach oprócz sklepu nr 10, dla dowolnego produktu, gdzie transakcja była mniejsza niż 1100 j.p., z marżą powyżej 14%, miała miejsce w drugiej połowie 2018 roku, a przedstawicielem był pan Kowalski. Jak to zrealizować? Można próbować np. z funkcją licz.warunki, jednak z uwagi na długość formuły nie podejmiemy się jej prezentacji. A jak to wygląda w przypadku funkcji bazodanowej?

Wszystkich funkcji bazodanowych jest 12 (https://support.office.com/pl-pl/article/funkcje-baz-danych-informacje-ad87e69b-fc20-4d3d-9d52-d7dc023f5c23). Schemat każdej z niej jest ten sam i opiera się o analogię do Select From Where.
Gdzie i kiedy można stosować te funkcje? Wszędzie i zawsze tam, gdzie mamy zbiór danych i potrzebujemy szybko uzyskać informacje o wartościach zagregowanych przy różnych ograniczeniach. Ale nie tylko…. ale o tym opowiemy przy okazji kolejnych wpisów.
Pozostawiamy plik do pobrania. Zachęcamy do zapoznania się z funkcjami, ich zasadami działania i poeksperymentowania. Być może znajdą one zastosowanie w codziennych czynnościach, które dotychczas były opatrzone kategorią 'uciążliwe’: