Przeczytaj
Profesor z pewnego uniwersytetu przeprowadził egzamin składający się z pięciu zadań. Do arkusza kalkulacyjnego wpisał kryteria na podstawie których wystawi oceny. W arkuszu umieścił również imię, nazwisko, liczbę oraz sumę punktów zdobytych przez studentów. Profesor poprosił nas, abyśmy pomogli mu w zautomatyzowaniu wpisywania ocen.
Funkcja WYSZUKAJ.PIONOWO (szukana_wartość; tabela_tablica; nr_indeksu_kolumny; przeszukiwany_zakres)
Funkcja ta służy do wyszukiwania określonych wartości w tabelach z dużą ilością danych, a także do nadawania im określonych atrybutów na podstawie stworzonych wcześniej słowników. Jej działanie możemy najprościej wyjaśnić na przykładzie.
Przyjmijmy, że mamy kilkanaście wartości liczbowych zgromadzonych w komórkach kilku kolumn. Może to być na przykład liczba punktów zdobytych na egzaminie przez poszczególnych studentów. Dzięki stworzonemu wcześniej słownikowi w arkuszu kalkulacyjnym zawierającemu kryterium przyznawanych ocen możemy w pełni zautomatyzować proces przyznawania ocen w zależności o zdobytej ilości punktów.
Słownik, zawierający przyznawane oceny w zależności od ilości zdobytych punktów, do którego będziemy się odwoływać przy stosowaniu wyszukiwania, wygląda następująco:
Warto zaznaczyć, że funkcja WYSZUKAJ.PIONOWO
daje dwie możliwości: wyszukiwanie dokładne (FAŁSZ lub 0) oraz wyszukiwanie przybliżone (PRAWDA lub 1). Argument ten nie jest wymagany, lecz jeśli go nie zdefiniujemy, to funkcja zwróci nam automatycznie wynik przybliżony, a więc PRAWDA (1). Jeśli zależy nam na wyszukaniu konkretnej wartości, należy pamiętać o zdefiniowaniu tego argumentu jako FAŁSZ (0). W przeciwnym razie funkcja zwróci najbliższe dopasowanie do szukanej wartości w kolejności rosnącej. Stąd też wyszukiwanie przybliżone świetnie sprawdza się podczas pracy z danymi znajdującymi się w pewnych przedziałach.
Wyjaśniając to na podstawie powyższego słownika, gdybyśmy chcieli dowiedzieć się, jaką ocenę otrzymamy po uzyskaniu 22 punktów, to stosując wyszukiwanie dokładne, nie zostałaby zwrócona żadna wartość, ponieważ w kolumnie Punktacja nie znajduje się komórka o takiej wartości. Wartość 22 znajduje się w przedziale <20, 25), więc w tym przypadku należy zastosować wyszukiwanie przybliżone. Wówczas zostanie zwrócony najbliższy wynik wyszukiwania w kolejności rosnącej, a więc 25 i zostałaby zwrócona informacja, że otrzymana ocena to 5 (ocenę 5 otrzymują studenci, którzy uzyskali min. 20 punktów, ale mniej niż 25).
Microsoft Excel
Chcąc ustalić, jaka ocena przewidziana jest za uzyskaną ilość punktów, korzystamy z funkcji WYSZUKAJ.PIONOWO
. W tym celu zaznaczamy pierwszą komórkę w kolumnie Ocena
, tj. I12 i wprowadzamy formułęformułę. Teraz ze wstążki wybieramy Formuły
. Następnie, w obszarze Biblioteka funkcji
wybieramy Wyszuk. i odwoł.
, a z rozwijalnej listy wybieramy WYSZUKAJ.PIONOWO
.
Następnie pojawia się okno Argumenty funkcji
przedstawiające elementy, z których zbudowana jest ta funkcja.
Pierwszym argumentem jest Szukana_wartość
, czyli to, co funkcja ma odszukać. W naszym przypadku jest to suma punktów, więc wpisujemy adres pierwszej komórki z kolumny Suma punktów, tj. H12.
Kolejny argument funkcji to Tabela_tablica
, gdzie wskazujemy zakres komórek, w którym wyszukiwanie ma się odbyć. Jest to zatem stworzony wcześniej słownik zawierający kryteria ocen. Wybieramy więc zakres A3:C8, pamiętając jednocześnie o zablokowaniu kolumn, dzięki czemu przy kopiowaniu formuły do innych komórek wyszukiwanie będzie odbywało się w tym samym zakresie danych.
Trzecim argumentem jest Nr_indeksu_kolumny
ze wskazanego przez nas we wcześniejszym kroku zakresu, z którego ma zostać zwrócona pasująca wartość. Nas interesuje kolumna Ocena (druga kolumna zakresu), a więc wpisujemy 2.
Czwarty argument to Przeszukiwany_zakres
, czyli interesujący nas sposób wyszukiwania, o którym była już mowa wcześniej. Ustalamy w tym miejscu, czy funkcja ma podać nam dokładny czy przybliżony wynik wyszukiwania. W naszym zadaniu występują przedziały, więc musimy zastosować wynik wyszukiwania przybliżony, wpisujemy więc 1 (PRAWDA). Jest to domyślny sposób wyszukiwania, więc gdybyśmy nic nie wpisali, to wynik wyszukiwania byłby w tym przypadku identyczny.
Ostatecznie formuła wygląda następująco:
a otrzymany wynik wyszukiwania dla komórki H12 (której wartości wynosiła 17) wynosi 4, czyli została zwrócona wartość z zakresu <15;20), dla której według słownika student otrzymuje ocenę dobrą.
Analogiczne wyszukiwanie możemy zastosować dla kolumny Słownie. W tym przypadku szukaną wartością również będzie suma punktów, zakresem wyszukiwania słownik – kryteria ocen, lecz wartości będą tym razem zwracane z trzeciej kolumny zakresu wyszukiwania, tj. kolumna Słownie, więc jako trzeci argument podajemy 3.
Reguła będzie wówczas wyglądała następująco:
Oto otrzymany rezultat wyszukiwania:
LibreOffice Calc
Chcąc ustalić, jaka ocena przewidziana jest za uzyskaną ilość punktów, korzystamy z funkcji WYSZUKAJ.PIONOWO
. W tym celu zaznaczamy pierwszą komórkę w kolumnie Ocena
, tj. I12 i wprowadzamy formułęformułę. Teraz ze wstążki wybieramy Wstaw
, a następnie Funkcja...
Z rozwijanej listy przy polu Kategoria
wybieramy Arkusz kalkulacyjny
, a następnie w obszarze Funkcja
wybieramy WYSZUKAJ.PIONOWO
.
Przyciskamy przycisk Dalej >
. Pojawia się pole przedstawiające elementy, z których zbudowana jest ta funkcja.
Pierwszym argumentem jest Kryterium wyszukiwania
, czyli to, co funkcja ma odszukać. W naszym przypadku jest to suma punktów, więc wpisujemy adres pierwszej komórki z kolumny Suma punktów, tj. H12.
Kolejny argument funkcji to Macierz
, gdzie wskazujemy zakres komórek, w którym wyszukiwanie ma się odbyć. Jest to zatem stworzony wcześniej słownik zawierający kryteria ocen. Wybieramy więc zakres A3:C8, pamiętając jednocześnie o zablokowaniu kolumn, dzięki czemu przy kopiowaniu formuły do innych komórek wyszukiwanie będzie odbywało się w tym samym zakresie danych.
Trzecim argumentem jest Indeks
ze wskazanego przez nas we wcześniejszym kroku zakresu, z której ma zostać zwrócona pasująca wartość. Nas interesuje kolumna Ocena, jest to druga kolumna zakresu, a więc wpisujemy 2.
Czwarty argument to Posortowany zakres wyszukiwania
, czyli interesujący nas sposób wyszukiwania, o którym była już mowa wcześniej. Ustalamy w tym miejscu, czy funkcja ma podać nam dokładny czy przybliżony wynik wyszukiwania. W naszym zadaniu występują przedziały, więc musimy zastosować wynik wyszukiwania przybliżony, wpisujemy więc 1 (PRAWDA). Jest to domyślny sposób wyszukiwania, więc gdybyśmy nic nie wpisali to wynik wyszukiwania byłby w tym przypadku identyczny.
Ostatecznie formuła wygląda następująco:
a otrzymany wynik wyszukiwania dla komórki H12 (której wartości wynosiła 17) wynosi 4, czyli została zwrócona wartość z zakresu <15;20), dla której według słownika student otrzymuje ocenę dobrą.
Analogiczne wyszukiwanie możemy zastosować dla kolumny Słownie. W tym przypadku szukaną wartością również będzie suma punktów, zakresem wyszukiwania słownik – kryteria ocen, lecz wartości będą tym razem zwracane z trzeciej kolumny zakresu wyszukiwania, tj. kolumna Słownie, więc jako trzeci argument podajemy 3.
Reguła będzie wówczas wyglądała następująco:
Oto otrzymany rezultat wyszukiwania:
Funkcja WYSZUKAJ.POZIOMO (odniesienie; tablica; nr_wiersza; wiersz)
Zasada działania tej funkcji wygląda podobnie jak działanie funkcji WYSZUKAJ.PIONOWO
, przy czym dane są przeszukiwane według wierszy zamiast kolumn, tak więc o rodzaju stosowanego wyszukiwania decyduje układ zakresu komórek, do którego odnosi się wyszukiwanie.
Działanie tej funkcji można przedstawić na przykładzie, który znajduje się na karcie WYSZUKAJ.POZIOMO
plików do ćwiczeń. Przyjmijmy, że w pewnym sklepie jest możliwość uzyskania określonego rabatu w zależności od wysokości zamówienia.
Kupujący zamawiając towar za kwotę nieprzekraczającą 10 000 zł, nie otrzymuje rabatu, jeśli wartość zamówienia wyniesie minimum 10 000 zł, ale nie więcej niż 20 000 zł otrzyma 2% rabatu itd.
W ten sposób za pomocą funkcji WYSZUKAJ.POZIOMO możemy stworzyć prosty kalkulator, który będzie wskazywał, jaki procent rabatu należy zastosować w zależności od wysokości zamówienia.
Microsoft Excel
W tym celu zaznaczamy komórkę, w której ma być zwracany wynik wyszukiwania, czyli B7 i wprowadzamy formułę. Teraz ze wstążki wybieramy Formuły
. Następnie, w obszarze Biblioteka funkcji
wybieramy Wyszuk. i odwoł.
, a z rozwijalnej listy wybieramy WYSZUKAJ.POZIOMO
.
Następnie w oknie Argumenty funkcji
postępujemy analogicznie jak w przypadku funkcji WYSZUKAJ.PIONOWO
, a więc:
pierwszy argument, tj.
Odniesienie
, wskazuje, jaka wartość będzie szukana (w naszym przypadku jest to wartość zamówienia, czyli komórka B6);drugi argument, tj.
Tablica
, określa zakres komórek, w których będzie odbywało się wyszukiwanie (w naszym przypadku jest to obszar A1:G2);trzeci argument, tj.
Nr_wiersza
, wskazuje numer wiersza obszaru, z którego ma zostać zwrócona pasująca wartość (w naszym przypadku jest to drugi wiersz, %rabatu, więc wpisujemy 2);czwarty argument, tj.
Wiersz
, określa sposób zastosowanego wyszukiwania (wyszukiwanie dokładne lub wyszukiwanie zbliżone).
Ostatecznie formuła wyglądać będzie następująco:
Aby sprawdzić jej poprawne działanie, wpiszmy w komórce B6 wartość zamówienia w wysokości na przykład 35 000 zł. W polu H7 zwracana jest wówczas wartość 8%, co jest wartością prawidłową, gdyż zgodnie z przyjętymi założeniami w przypadku zamówienia o wartości powyżej 30 000 zł, ale nie większej niż 40 000 zł, powinien zostać naliczony rabat w wysokości 8%.
LibreOffice Calc
W tym celu zaznaczamy komórkę, w której ma być zwracany wynik wyszukiwania, czyli B7 i wprowadzamy formułę. Teraz naciskamy prawym przyciskiem myszy ikonę Kreator funkcji
.
Następnie, w obszarze Kategoria
, wybieramy Arkusz kalkulacyjny
, a z listy Funkcja
wybieramy WYSZUKAJ.POZIOMO
. Naciskamy przycisk Dalej >
.
Następnie postępujemy analogicznie jak w przypadku funkcji WYSZUKAJ.PIONOWO
, a więc:
pierwszy argument, tj.
Kryterium wyszukiwania
, wskazuje, jaka wartość będzie szukana (w naszym przypadku jest to wartość zamówienia, czyli komórka B6);drugi argument, tj.
Macierz
, określa zakres komórek, w których będzie odbywało się wyszukiwanie (w naszym przypadku jest to obszar A1:G2);trzeci argument, tj.
Indeks
, wskazuje numer wiersza obszaru, z którego ma zostać zwrócona pasująca wartość (w naszym przypadku jest to drugi wiersz, %rabatu, więc wpisujemy 2);czwarty argument, tj.
Posortowany zakres wyszukiwania
, określa sposób zastosowanego wyszukiwania (wyszukiwanie dokładne lub wyszukiwanie zbliżone).
Ostatecznie formuła wyglądać będzie następująco:
Aby sprawdzić jej poprawne działanie, wpiszmy w komórce B6 wartość zamówienia w wysokości na przykład 35 000 zł. W polu H7 zwracana jest wówczas wartość 8%, co jest wartością prawidłową, gdyż zgodnie z przyjętymi założeniami w przypadku zamówienia o wartości powyżej 30 000 zł, ale nie większej niż 40 000 zł powinien zostać naliczony rabat w wysokości 8%.
Funkcja INDEKS (tablica; nr_wiersza; [nr_kolumny])
Funkcja INDEKS
zwraca wartość znajdującą się na przecięciu wiersza i kolumny analizowanego obszaru danych, co jest niezwykle istotne podczas analizowania rozbudowanych arkuszy.
Działanie funkcji najlepiej wytłumaczyć na przykładzie. Załóżmy, że mając raport miesięcznej sprzedaży z kilku oddziałów, chcemy sprawdzić, jaka była sprzedaż Oddziału 2 w kwietniu.
Microsoft Excel
Chcąc zastosować funkcję INDEKS
, wybieramy ze wstążki Formuły
. Następnie, w obszarze Biblioteka funkcji
, wybieramy Wyszuk. i odwoł.
, a z rozwijalnej listy wybieramy INDEKS.
Następnie wybieramy listę argumentów, które mają być zastosowane w formule. Wybierzmy tablica; nr_wiersza; nr_kolumny
. Potwierdźmy przyciskiem OK
.
Pojawi się wówczas okno, w którym możemy zdefiniować poszczególne argumenty.
W polu Tablica
określamy zakres wyszukiwanego obszaru. W naszym przykładzie będzie to A1:F5. Następnie wybieramy Nr_wiersza
analizowanego obszaru. Będzie to piąty wiersz, w którym są podane dane za miesiąc kwiecień. Trzeci argument to Nr_kolumny
analizowanego obszaru. Interesuje nas Oddział 2, więc wybieramy kolumnę 3.
Ostatecznie formuła wyglądać będzie następująco:
W ten sposób w polu B8 zostanie zwrócona wartość 33 698,00 zł, którą mieliśmy wyszukać.
LibreOffice Calc
Chcąc zastosować funkcję INDEKS
, wybieramy kombinację klawiszy [Ctrl] + [F2]
, która wywoła okno kreatora funkcji. Następnie, w obszarze Kategoria
, wybieramy Arkusz kalkulacyjny
, a z listy wybieramy INDEKS.
Naciśnijmy przycisk Dalej >
. Pojawi się wówczas pole, w którym możemy zdefiniować poszczególne argumenty.
W polu Odwołanie
określamy zakres wyszukiwanego obszaru. W naszym przykładzie będzie to A1:F5. Następnie wybieramy Wiersz
analizowanego obszaru. Będzie to piąty wiersz, w którym są podane dane za miesiąc kwiecień. Trzeci argument to Kolumna
analizowanego obszaru. Interesuje nas Oddział 2, więc wybieramy kolumnę 3.
Ostatecznie formuła wyglądać będzie następująco:
W ten sposób w polu B8 zostanie zwrócona wartość 33 698,00 zł, którą mieliśmy wyszukać.
Funkcja PODAJ.POZYCJĘ (szukana_wartość; przeszukiwana_tab; [typ_porównania])
Funkcja INDEKS
bardzo często łączy się z funkcją PODAJ.POZYCJĘ
. Dzięki zastosowaniu tej funkcji nie musimy sprawdzać, który w kolejności wiersz i która komórka mają być wyszukiwane. Zamiast numeru wiersza i numeru kolumny wystarczy podać ich tytuł.
Argumenty tej funkcji wyglądają następująco:
Pierwszy argument dotyczy dowolnej wartości, którą chcemy odnaleźć, drugi argument obejmuje zakres przeszukiwanego obszaru, natomiast trzeci argument oznacza rodzaj wyszukiwania - dokładny lub przybliżony.
Do wyboru mamy trzy typy porównania:
„0 – dokładne dopasowanie” – najczęściej stosowane rozwiązanie;
„1 – mniejsze niż” – stosowana w przypadku, gdy nie chcemy szukać dokładnej wartości lub gdy wiemy, że nie znajduje się ona w przeszukiwanym obszarze i chcemy wówczas odnaleźć jej wartość najbliższą spośród innych wartości od niej mniejszych; opcja ta może być stosowana tylko w przypadku, gdy dane są posortowane rosnąco;
„-1 – większe niż” – działa analogicznie jak opcja „1 – mniejsze niż” i wyszukuje wartość najbliższą spośród innych wartości od niej większych, ale tylko w sytuacji, kiedy dane są posortowane malejąco.
Microsoft Excel
Aby skorzystać z tej funkcji, ze wstążki wybieramy Formuły
. Następnie, w obszarze Biblioteka funkcji
, wybieramy Wyszuk. i odwoł.
, a z rozwijalnej listy wybieramy PODAJ.POZYCJĘ
.
W naszym przykładzie szukaliśmy informacji, jaka była sprzedaż Oddziału 2 w kwietniu. Dzięki funkcji PODAJ.POZYCJĘ
możemy zlokalizować, w którym wierszu znajdują się dane dla miesiąca kwietnia i w której kolumnie znajdują się dane dla Oddziału 2.
Zatem w oknie Argumenty funkcji
określamy argumenty dla miesiąca kwietnia, aby wyszukać jego pozycję w wierszach tabeli.
Szukana wartość to „kwiecień”, przeszukiwany obszar to cała kolumna Miesiąc
, czyli zakres komórek A1:A5, a typ porównania to 0, czyli wyszukiwanie dokładne.
W ten sposób funkcja PODAJ.POZYCJĘ
zwraca wartość 5, potwierdzającą, że dane za miesiąc kwiecień znajdują się w piątym wierszu przeszukiwanego zakresu danych.
Analogicznie postępujemy w przypadku odnalezienia pozycji Oddziału 2. Szukana wartość to „Oddział 2”, przeszukiwany obszar to cały wiersz Miesiąc
, czyli zakres komórek A1:F1, a typ porównania to 0, czyli wyszukiwanie dokładne.
Funkcja zwraca w ten sposób wartość 3, a więc dane dla Oddziału 2 znajdują się w trzeciej kolumnie przeszukiwanego obszaru.
W ten sposób, gdy będziemy stosować funkcję INDEKS, nie będziemy musieli wpisywać dokładnego numeru wiersza i kolumny, co będzie kłopotliwe w przypadku bardziej rozbudowanych tabel, lecz zrobi to za nas funkcja PODAJ.POZYCJĘ
.
W tym celu formułę funkcji INDEKS
:
wystarczy zamienić na:
LibreOffice Calc
Aby skorzystać z tej funkcji, z menu głównego wybieramy Wstaw
, a następnie Funkcja...
Następnie, w obszarze Kategoria
, wybieramy Arkusz kalkulacyjny
, a z listy wybieramy PODAJ.POZYCJĘ
. Klikamy przycisk Dalej >
.
W naszym przykładzie szukaliśmy informacji, jaka była sprzedaż Oddziału 2 w kwietniu. Dzięki funkcji PODAJ.POZYCJĘ
możemy zlokalizować, w którym wierszu znajdują się dane dla miesiąca kwietnia i w której kolumnie znajdują się dane dla Oddziału 2.
Zatem w oknie Kreator funkcji
określamy argumenty dla miesiąca kwietnia, aby wyszukać jego pozycję w wierszach tabeli.
Szukana wartość to „kwiecień”, przeszukiwany obszar to cała kolumna Miesiąc
, czyli zakres komórek A1:A5, a typ porównania to 0, czyli wyszukiwanie dokładne.
W ten sposób funkcja PODAJ.POZYCJĘ
zwraca nam wartość 5, potwierdzającą, że dane za miesiąc kwiecień znajdują się w piątym wierszu przeszukiwanego zakresu danych.
Analogicznie postępujemy w przypadku odnalezienia pozycji Oddziału 2. Szukana wartość to „Oddział 2”, przeszukiwany obszar to cały wiersz Miesiąc
, czyli zakres komórek A1:F1, a typ porównania to 0, czyli wyszukiwanie dokładne.
Funkcja zwraca w ten sposób wartość 3, a więc dane dla Oddziału 2 znajdują się w trzeciej kolumnie przeszukiwanego obszaru.
W ten sposób, gdy będziemy stosować funkcję INDEKS, nie będziemy musieli wpisywać dokładnego numeru wiersza i kolumny, co będzie kłopotliwe w przypadku bardziej rozbudowanych tabel, lecz zrobi to za nas funkcja PODAJ.POZYCJĘ
.
W tym celu formułę funkcji INDEKS
:
wystarczy zamienić na:
Słownik
zasada powstawania i działania