Funkcje bazodanowe stanowią pewną odrębną całość charakteryzującą się wspólną konwencją zarówno nazewnictwa, jak i budowy.
Wszystkie 12 funkcji zaczyna się w polskiej wersji językowej od liter BD (baza danych) jak na Rysunku 1, w angielskiej zaś wersji od litery D (database).
Jeśli chodzi o taką samą budowę, to każda z funkcji składa się z trzech argumentów (Rysunek 2):
*baza – zakres tabeli łącznie z nagłówkiem,
*pole – kolumna obliczeń podana jako odwołanie, nazwa lub numer kolumny
*kryteria – komórki z warunkami.
Wiedząc już, jak zbudowane są funkcje zaczynające się od liter BD*, warto poznać podstawowe zasady tworzenia kryteriów.
Kilka następnych przykładów będzie opartych na bardzo prostej tabelce, jaką zapewne można spotkać w każdym dziale personalnym, by móc szybko zweryfikować poprawność otrzymanych wyników. Pozwoli to w kolejnych, bardziej skomplikowanych przykładach bardziej świadomie korzystać z omawianych tutaj narzędzi (Tabela 1).

Dobrym zwyczajem jest tworzenie dodatkowej tabeli z warunkami i koniecznie z takim samym wierszem nagłówkowym powyżej naszej głównej bazy danych, głównie ze względu na większą czytelność obliczeń. I tak w pierwszym przykładzie, chcąc uzyskać informacje o zarobkach osób z nazwiskiem Nowak, uzyskujemy wynik nie do końca zgodny z naszymi oczekiwaniami (Rysunek 3).

Dzieje się tak dlatego, że funkcje bazodanowe wymagają kryteriów zdefiniowanych bezwzględnie jak na rysunku 4 (=”=Nowak”), inaczej sumowane są wszystkie rekordy zaczynające się od słów wpisanych w tabeli z warunkami. Analogicznie możemy wykorzystywać w tabeli z warunkami wszelkie symbole używane w zapytaniach, jak <, >, * (zastępujące dowolną liczbę znaków) czy ? zastępujący dowolny jeden znak.

Oczywiście ważnymi zastosowaniami funkcji bazodanowych są zapytania bardziej skomplikowane, wykorzystujące warunki koniunkcyjne (oraz) tudzież alternatywne (lub).
W przykładzie piątym widzimy przykładowe użycie funkcji BD.ŚREDNIA, biorąc pod uwagę osoby z wykształceniem średnim lub wyższym.

Kluczowa tutaj jest alternatywa warunków, która musi być zapisana w oddzielnych wierszach.
Kolejnym przykładem jest koniunkcja warunków, gdzie wszystkie kryteria muszą być zapisane łącznie w tym samym wierszu jak na Rysunku 6, gdzie uzyskujemy maksymalną wartość zarobków dla osób poniżej 40 lat zarabiających powyżej 10 tys.

Ostatnim przykładem wartym wspomnienia są kryteria wyliczeniowe, pozwalające dowolnie tworzyć kryteria poprzez znane nam formuły (Rysunek 7). W poniższym przykładzie pozwalają one zliczyć osoby z takim nazwiskiem, tudzież analizować zarobki powyżej/poniżej średniej, ewentualnie w innych bazach danych z danymi budżetowanymi i aktualnymi przekroczeniami planu o zadaną wartość procentową czy w wartości absolutnej. Co istotne, tworząc kryterium wyliczeniowe, należy zmienić nagłówek danej kolumny w tabeli z warunkami na nazwę niewystępującą w nagłówkach głównej bazy danych oraz w formule koniecznie wskazać cały zakres kolumny, na jakiej chcemy stworzyć kryteria formułowe, oraz pierwszy wiersz w formie względnej, jako że w taki sam sposób sprawdzane będą pozostałe wiersze bazy danych. Oczywiście kryteria te można dowolnie łączyć z innymi warunkami, tak jak w załączonym przykładzie dostajemy liczbę kobiet z powtarzającym się nazwiskiem.

Dotychczas poznaliśmy pierwsze główne zastosowanie funkcji bazodanowych, jakim jest niewątpliwie tworzenie zapytań, by uzyskać konkretną informację z dużego zbioru danych bez konieczności tworzenia skomplikowanych raportów czy tabel. Drugim zastosowaniem jest tworzenie raportów, które często mogą być połączone z innymi funkcjonalnościami Excela, jak np. dodawaniem formantów formularza (Rysunek 8).

Cały nasz przykładowy raport będzie zbudowany na bazie danych mającej ponad 70 tys. wierszy, którą dla ułatwienia nazwiemy Baza (Rysunek 9).

Do celów naszego ćwiczenia potrzebujemy trzech dodatkowych kolumn w dodatkowej zakładce z wszystkimi występującymi w raporcie miastami, latami i miesiącami, co można zrobić przez skopiowanie całych interesujących nas kolumn oraz użycie opcji Usuń duplikaty (Rysunek 10).

Mając trzy powyższe kolumny z wszystkimi dostępnymi zmiennymi raportu, możemy przystąpić do tworzenia list rozwijanych. Do tego celu wybieramy formanty formularza ze wstążki Developer (Rysunek 11).

Następnie wybieramy formatowanie formantu (Rysunek 12) i wskazujemy zakres z dostępnymi miastami, dostawiając na koniec * jeśli będziemy chcieli mieć opcję sumy wszystkich oddziałów (Rysunek 13).

Analogicznie tworzymy listy rozwijane w przypadku lat i miesięcy. Częstą praktyką jest też tworzenie raportu na tyle elastycznego, by łatwo było wygenerować dane nie tylko miesięczne, ale też narastająco od początku roku. W tym celu dokładamy kolejny formant formularza w postaci pola wyboru, który z kolei formatujemy, wskazując komórkę, gdzie będziemy mieli wynik PRAWDA bądź FAŁSZ w zależności od tego, czy pole będzie zaznaczone czy nie (Rysunek 14).

Utworzywszy wszelkie potrzebne nam formanty formularza, zaczynamy tworzyć kryteria naszego raportu (Rysunek 15). Jak widzimy, mamy tam cztery zmienne, które musimy zdefiniować na podstawie list rozwijanych. I tak miesiąc to nic innego jak wskazanie komórki J15 z zaznaczeniem, że w przypadku spełnienia kryterium pola wyboru (PRAWDA) uzyskujemy wartość &lt;=J15: MIESIĄC=JEŻELI($J$16;”&lt;=”&$J$15;$J$15)

Analogicznie przedstawia się warunek roku (też z opcją mniejsze równe). W przypadku miasta też możemy użyć szeregu funkcji dającej nam żądane miasto, pamiętając, że wskazanie formantu daje nam jedynie numer rekordu wybranego. Proponuję tutaj alternatywę dla aż zanadto wykorzystywanej wyszukaj.pionowo w postaci funkcji indeks: MIASTO=INDEKS($H$2:$H$13;$H$15;1) jak na Rysunku 16.

Dane z miastem, miesiącem i rokiem używamy w każdym kryterium, różnią się one między sobą tylko Grupą produktową. Gdy mamy tak zbudowane kryteria, nie pozostaje nic innego, jak stworzyć raport, używając poznanych wcześniej funkcji bazodanowych.

Oczywiście załączony przykład to tylko uproszczenie, ale w analogiczny sposób można stworzyć bardziej wyszukane raporty, łącznie z całymi rachunkami wyników dla poszczególnych oddziałów, grup produktów, a także pozwalających porównywać się do budżetu tudzież między oddziałami firmy.