Narzędzia użytkownika

Narzędzia witryny


fedora:aplikacje:calc:indeks

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Poprzednia rewizja po obu stronachPoprzednia wersja
Nowa wersja
Poprzednia wersja
fedora:aplikacje:calc:indeks [2025/02/12 20:47] sindapfedora:aplikacje:calc:indeks [2025/02/13 20:39] (aktualna) sindap
Linia 3: Linia 3:
 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ć: 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ć:
  
-<code bash> +**Arkusz z którego pobieramy dane**Aby funkcja działała arkusz musi mieć nazwę **dane_szukane**.
-=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 +
-</code>+
  
 ^ - ^ A ^ B ^ C ^ ^ - ^ A ^ B ^ C ^
Linia 20: Linia 15:
 Dane w kolumnie ''C'' powinny być danymi unikalnymi jednoznacznie określającymi numer rekordu z szukanymi danymi. Dane w kolumnie ''C'' powinny być danymi unikalnymi jednoznacznie określającymi numer rekordu z szukanymi danymi.
  
-^ - ^ A ^ B ^ C ^ +**W poniższym arkuszu o dowolnej nazwie wprowadzamy funkcje**
-^ 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 |+
  
 +<code bash>
 +=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
 +</code>
  
 +
 +^ - ^ 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 ^ ^ - ^ A ^ B ^ C ^
Linia 63: Linia 68:
 =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") =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")
 </code> </code>
 +
 +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ą [[fedora:aplikacje:libreoffice:calc:czyliczba|CZY.LICZBA]]
fedora/aplikacje/calc/indeks.1739389643.txt.gz · ostatnio zmienione: 2025/02/12 20:47 przez sindap

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki