Narzędzia użytkownika

Narzędzia witryny


fedora:aplikacje:calc:indeks

Funkcja INDEKS

Z WYSZUKAJ.PIONOWO jest taki problem, że wyniki szukania muszą się znajdować w kolumnach po kolumnie na podstawie której szukamy dane. Jeżeli kolumna na podstawie której szukamy dane to kolumna C a dane są w A i B to możemy użyć:

Arkusz z którego pobieramy dane. Aby funkcja działała arkusz musi mieć nazwę dane_szukane.

- A B C
1 Ksywa Płeć PESEL
2 Johny Facet 1234
3 Lola Baba 4321
4 Jenny Baba 1432
5 Adam Facet 3241
6 Stefan Facet 1122

Dane w kolumnie C powinny być danymi unikalnymi jednoznacznie określającymi numer rekordu z szukanymi danymi.

W poniższym arkuszu o dowolnej nazwie wprowadzamy funkcje

=INDEKS($dane_szukane.A$2:A$6;PODAJ.POZYCJĘ(A2;$dane_szukane.C$2:C$6;0))
dla kolumny A
=INDEKS($dane_szukane.B$2:B$6;PODAJ.POZYCJĘ(A2;$dane_szukane.C$2:C$6;0))
dla kolumny B
- A B C
1 PESEL Ksywa Płeć
2 1432 =INDEKS($dane_szukane.A$2:A$6;PODAJ.POZYCJĘ(A2;$dane_szukane.C$2:C$6;0)) =INDEKS($dane_szukane.B$2:B$6;PODAJ.POZYCJĘ(A2;$dane_szukane.C$2:C$6;0))
3 3241 =INDEKS($dane_szukane.A$2:A$6;PODAJ.POZYCJĘ(A3;$dane_szukane.C$2:C$6;0)) =INDEKS($dane_szukane.B$2:B$6;PODAJ.POZYCJĘ(A3;$dane_szukane.C$2:C$6;0))
4 1122 =INDEKS($dane_szukane.A$2:A$6;PODAJ.POZYCJĘ(A4;$dane_szukane.C$2:C$6;0)) =INDEKS($dane_szukane.B$2:B$6;PODAJ.POZYCJĘ(A4;$dane_szukane.C$2:C$6;0))
5 1234 =INDEKS($dane_szukane.A$2:A$6;PODAJ.POZYCJĘ(A5;$dane_szukane.C$2:C$6;0)) =INDEKS($dane_szukane.B$2:B$6;PODAJ.POZYCJĘ(A5;$dane_szukane.C$2:C$6;0))
6 4321 =INDEKS($dane_szukane.A$2:A$6;PODAJ.POZYCJĘ(A6;$dane_szukane.C$2:C$6;0)) =INDEKS($dane_szukane.B$2:B$6;PODAJ.POZYCJĘ(A6;$dane_szukane.C$2:C$6;0))

Otrzymamy poniższy wynik

- A B C
1 PESEL Ksywa Płeć
2 1432 Jenny Baba
3 3241 Adam Facet
4 1122 Stefan Facet
5 1234 Johny Facet
6 4321 Lola Baba

Dane w kolumnie A mogą się powtarzać ale wówczas otrzymamy zdublowane wyniki wyszukiwania.
W pozostałych kolumnach otrzymujemy wynik działania w/w funkcji.

Uzupełnienie o funkcję ADR.POŚR i NIEPUSTE. W niektórych wersjach ILE.NIEPUSTYCH.

=INDEKS(ADR.POŚR("$dane_szukane.A$2:A" & NIEPUSTE($dane_szukane.$C:$C));PODAJ.POZYCJĘ(A2;ADR.POŚR("$dane_szukane.C$2:C" & NIEPUSTE($dane_szukane.$C:$C));0))
dla kolumny A
=INDEKS(ADR.POŚR("$dane_szukane.B$2:B" & NIEPUSTE($dane_szukane.$C:$C));PODAJ.POZYCJĘ(A2;ADR.POŚR("$dane_szukane.C$2:C" & NIEPUSTE($dane_szukane.$C:$C));0))
dla kolumny B

Uzupełnienie o funkcję JEŻELI.BRAK.

=JEŻELI.BRAK(INDEKS(ADR.POŚR("$dane_szukane.A$2:A" & NIEPUSTE($dane_szukane.$C:$C));PODAJ.POZYCJĘ(A2;ADR.POŚR("$dane_szukane.C$2:C" & NIEPUSTE($dane_szukane.$C:$C));0));"BRAK DANYCH")
dla kolumny A
=JEŻELI.BRAK(INDEKS(ADR.POŚR("$dane_szukane.B$2:B" & NIEPUSTE($dane_szukane.$C:$C));PODAJ.POZYCJĘ(A2;ADR.POŚR("$dane_szukane.C$2:C" & NIEPUSTE($dane_szukane.$C:$C));0));"BRAK DANYCH")
dla kolumny B

Jeśli komórka nie zawiera danych pojawia nam się „zero”. Aby temu zaradzić można dodać funkcję JEŻELI.

=JEŻELI.BRAK(JEŻELI(INDEKS(ADR.POŚR("$dane_szukane.A$2:A" & NIEPUSTE($dane_szukane.$C:$C));PODAJ.POZYCJĘ(A2;ADR.POŚR("$dane_szukane.C$2:C" & NIEPUSTE($dane_szukane.$C:$C));0))=0;"";INDEKS(ADR.POŚR("$dane_szukane.A$2:A" & NIEPUSTE($dane_szukane.$C:$C));PODAJ.POZYCJĘ(A2;ADR.POŚR("$dane_szukane.C$2:C" & NIEPUSTE($dane_szukane.$C:$C));0)));"BRAK DANYCH")

Także, funkcja INDEKS może zastąpić WYSZUKAJ.PIONOWO, ale wymaga użycia jej w połączeniu z PODAJ.POZYCJĘ. Jest to bardziej elastyczne rozwiązanie, ponieważ:

  • Działa poprawnie nawet wtedy, gdy kolumna wynikowa znajduje się na lewo od kolumny wyszukiwania.
  • Nie wymaga, aby dane były posortowane.
  • Nie ogranicza się do wyszukiwania tylko w pierwszej kolumnie zakresu.
  • Gdy masz do czynienia z dużymi zestawami danych – INDEKS działa wydajniej, ponieważ od razu wybiera właściwą wartość, a WYSZUKAJ.PIONOWO skanuje całą kolumnę.
  • Gdy chcesz unikać problemów z wartością dokładnego dopasowania – PODAJ.POZYCJĘ pozwala na pełną kontrolę nad sposobem wyszukiwania.

Podsumowanie

  • INDEKS + PODAJ.POZYCJĘ jest bardziej elastyczne niż WYSZUKAJ.PIONOWO, ale wymaga dwóch funkcji zamiast jednej.
  • WYSZUKAJ.PIONOWO jest prostsze w użyciu, ale ma ograniczenia (np. nie może szukać w lewo).

Jeżeli masz problem działąniem funkcji sprawdź porównywane komórki za pomocą CZY.LICZBA

fedora/aplikacje/calc/indeks.txt · ostatnio zmienione: 2025/02/13 20:39 przez sindap

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki