Zaczytanie danych

Użytkowanie arkusza kalkulacyjnego
Dyrektor
Posty: 15
Rejestracja: śr maja 06, 2015 7:42 am

Zaczytanie danych

Post autor: Dyrektor »

Witam.
Mam do wykonania zadanie w pracy, ale kompletnie nie wiem jak do tego podejść. Danych jest masa i muszę wspomóc się formułami.

Mam dwie tabele:.
Tabela1 jest uzupełniona.
Tabelę2 muszę uzupełnić o dane z Tabeli1.
Muszę porównać czy w Tabeli2 znajdują się dane z Tabeli1. Jeżeli dane powtarzają się, to muszę wypisać pod jakim nagłówkiem są te dane.

Jeżeli piszę niezrozumiale, to mam nadzieję, że plik pomocniczy wszystko wyjaśni.

Będę wdzięczny za uratowanie życia.
Załączniki
Tab.ods
(12.9 KiB) Pobrany 134 razy
OpenOffice 4.1.1, Windows 7 Home Premium
Awatar użytkownika
Rafkus
Posty: 515
Rejestracja: czw kwie 12, 2018 10:26 pm

Re: Zaczytanie danych

Post autor: Rafkus »

Proponuję zastosować do tego celu funkcję macierzową:

Kod: Zaznacz cały

=INDEKS( $A$2:$C$2;   ;  MAKS(JEŻELI($A$3:$C$7 = A13;  KOLUMNA($A$2:$C$2))))
Funkcja Macierzowa to taka, która przeprowadza jakieś działania na jakimś obszarze. Po wpisaniu takiej formuły do komórki należy ją zatwierdzić jednocześnie wciskając klawisze CTRL+SHIFT+ENTER. Jak działa powyższa formuła:
- Funkcja JEŻELI sprawdza czy w tabeli1 $A$3:$C$7 są wartości z A13, jeżeli są do w pamięci na tej pozycji podaje w której kolumnie się znajduje, jeżeli niema to tam wstawia fałsz (czyli 0).
- Z takiego zakresu danych funkcja MAKS wybierze jedną najwyższą wartość,
- Funkcja INDEKS zwróci odpowiednią wartość z komórki
UWAGA: Formułę funkcji macierzowej przeciąga się do innych komórek trzymając wciśnięty klawisz CTRL.

Powyższa formuła jest przeznaczona dla OpenOffica. W Libre wykorzystałbym formułę:

Kod: Zaznacz cały

=ZŁĄCZ.TEKST( JEŻELI( $A$3:$C$7 = A13;  $A$2:$C$2 ))
Jest to również funkcja macierzowa.
Jeżeli jakaś wartość w tabeli 1 jest taka sama jak w A13, to jest wstawiona wartość z nagłówka tabeli, w przeciwnym razie pozostanie pusta. Funkcja ZŁĄCZ.TEKST (nie ma jej w OO) pozwala na łączenie tekstu z jakiegoś zakresu danych.
LibreOffice 7.4.6 (preferowany) oraz OpenOffice 4.1.6. Widows 10
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
Dyrektor
Posty: 15
Rejestracja: śr maja 06, 2015 7:42 am

Re: Zaczytanie danych

Post autor: Dyrektor »

Dzięki Bogu istnieją jeszcze dobrzy ludzie.

WIELKIE DZIĘKI!!! Dokładnie o to mi chodziło.
OpenOffice 4.1.1, Windows 7 Home Premium
Dyrektor
Posty: 15
Rejestracja: śr maja 06, 2015 7:42 am

Re: Zaczytanie danych

Post autor: Dyrektor »

Jedna UWAGA

Jeżeli w A13 wpisuję daną, której nie ma w zakresie $A$2:$C$2, to wypisuje mi nagłówek z pierwszej kolumny (A2).
Co prawda w moim przypadku nie będzie to miało miejsca, ale chciałem poinformować.
OpenOffice 4.1.1, Windows 7 Home Premium
Awatar użytkownika
Rafkus
Posty: 515
Rejestracja: czw kwie 12, 2018 10:26 pm

Re: Zaczytanie danych

Post autor: Rafkus »

Faktycznie, nie sprawdziłem co będzie w przypadku nieistniejących danych. W tym przypadku cała macierz danych, utworzona przy pomocy funkcji JEŻELI, przyjmuje FAŁSZ zatem MAKS() = 0 (funkcja INDEKS dla tej wartości powinna zwrócić błąd).
Dlatego, po zastanowieniu proponuję zastosować taką formułę:

Kod: Zaznacz cały

=WYBIERZ(MAKS( JEŻELI( $A$3:$C$7=A13;  KOLUMNA($A$2:$C$2)))+1;  "Brak";  $A$2;  $B$2;  $C$2)
i ją również należy zatwierdzić wciskając jednocześnie klawisze CTRL+SHIFT+ENTER.
LibreOffice 7.4.6 (preferowany) oraz OpenOffice 4.1.6. Widows 10
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
Dyrektor
Posty: 15
Rejestracja: śr maja 06, 2015 7:42 am

Re: Zaczytanie danych

Post autor: Dyrektor »

Dokładnie tak. Teraz wskazuje "brak" danych.

Jeszcze raz wielkie dzięki.
Pozdrawiam.
OpenOffice 4.1.1, Windows 7 Home Premium
ODPOWIEDZ