Nie znasz dobrze obsługi Excela? A może nie znasz jej wcale? Doskonale wiem, że w dzisiejszych czasach i realiach, znajomość tego programu jest nie tylko niezbędna, ale przede wszystkim korzystna dla Ciebie samego. Moje szkolenie z Excela online pokaże Ci, że arkusz kalkulacyjny nie jest wcale Twoim wrogiem, a sprzymierzeńcem w porządkowaniu i analizie danych - nie tylko liczbowych. Stworzyłem kurs Excel online na każdym poziomie, zarówno dla osób początkujących, średniozaawansowanych, jak i zaawansowanych. Znajdziesz u mnie także szkolenie z Excela online dedykowane specjalnie przedsiębiorcom. Każdy kurs zawiera starannie wyselekcjonowany zakres wiedzy i zagadnień, które odpowiadają na ściśle sprecyzowane potrzeby jego użytkowników.
Excel - kurs online. Dlaczego warto?
Zastanawiasz się, czy Excel i kurs online to dobre połączenie? Czy taka forma nauki pracy z arkuszem kalkulacyjnym może być efektywna? Pozwól, że rozwieję Twoje wątpliwości.
Od lat z powodzeniem zajmuję się dzieleniem swoją wiedzą zdalnie. Ta forma nauki, szczególnie w ostatnim czasie, mocno zyskała na popularności, a jej techniki znacząco się rozwinęły. Abyś mógł biegle posługiwać się programem Excel, każdy swój kurs zaprojektowałem z ogromną starannością i w oparciu o zasady metodyki nauczania na odległość.
Jednak szkolenie z Excela online, to przede wszystkim ogromna wygoda dla Ciebie, ponieważ nie musisz wychodzić z domu, możesz uczyć się wraz ze mną z dowolnego miejsca i w wybranym przez siebie czasie. Dodatkowo każdy mój kurs Excela online zawiera materiały dydaktyczne dostępne dla Ciebie już po zakończeniu szkolenia. Krótkie nagrania filmowe, prezentujące różnego rodzaju działania w arkuszu kalkulacyjnym, które w dowolnej chwili możesz zatrzymać, odtworzyć ponownie, by jeszcze raz przeanalizować i utrwalić wiedzę, to doskonały sposób, by opanować Excel. Kurs online to nie tylko wygoda, to także oszczędność Twojego i mojego czasu - zamiast dojeżdżać w umówione miejsce, możemy poświęcić więcej chwil na ćwiczenia i praktykę.
W tym poście omówimy stworzenie rankingu sprzedawców tablicowo za pomocą jednej formuły z użyciem funkcji ZEZWALAJ. Jest to kontynuacja tematu z poprzednich dwóch postów, w których najpierw rozwiązywaliśmy to zagadnienie za pomocą kolumn pomocniczych, a następnie za pomocą jednej formuły (stworzonej z pojedynczych formuł, jakich używaliśmy w kolumnach pomocniczych). Przypomnimy najpierw przykładowe dane do tego zadania (rys. nr 1).
Skrócimy
powyższą formułę stosując funkcję ZEZWALAJ. Z mojego punktu widzenia, wygodniej
jest zastosować nazewnictwo funkcji ZEZWALAJ w już istniejącej formule
(zastępując poszczególne elementy). Zastępujemy poszczególne elementy, ponieważ
zazwyczaj kiedy odwołujemy się do wcześniejszej formuły stosujemy odwołanie do jej
wyników a nie wpisujemy (kopiujemy) jej formuły. Zapis formuły z poprzedniej
porady wygląda następująco:
Aby wstawić Enter
w formule (przejść do niższego wiersza) musimy w trybie edycji komórki użyć skrótu
klawiszowego Alt+Enter. Zaczynamy od znaku równa się, a następnie wpisujemy
nazwę funkcji ZEZWALAJ.
Musimy mieć
tutaj "bystre oczko", żeby zauważyć, jakie elementy powtarzają się w naszej
skomplikowanej formule. Możemy łatwo zauważyć, że często powtarza się zakres
tSprzedażk[Sprzedawca], dlatego ten zakres zastąpimy jako pierwszy mniej
skomplikowaną nazwą. Pierwszym argumentem funkcji ZEZWALAJ jest nazwa1,
czyli wybrany przez nas element (nazwiemy go np.SprzedW, czyli wszyscy
sprzedawcy. Drugi argument funkcji to wartość_nazwy1, czyli wartość
naszego nazwanego argumentu – tablica tSprzedażk[Sprzedawca].
Aby za
każdym razem nie szukać tej dłuższej nazwy tSprzedażk[Sprzedawca], żeby ją
podmienić, musimy ją sobie skopiować. Następnie zaznaczamy dwie komórki (jedną
z naszą formułą, a drugą spoza tego zakresu) i używając skrótu klawiszowego Ctrl+H,
otwieramy okno Znajdowania i zamieniania. W tym oknie przechodzimy na
zakładkę Zamień i w polu Znajdź wklejamy skopiowaną nazwę zakresy sprzed
zmiany, a następnie w polu Zamień na wpisujemy nową nazwę nadaną w
funkcji ZEZWALAJ dla tego zakresu – SprzedW. Tak ustawione parametry
zatwierdzamy przyciskiem Zamień wszystkie (rys. nr 3).
Rys. nr 3 – okno Znajdowania i zamieniania
Excel wyświetli nam komunikat o ilości takich zamian (rys. nr 4).
Rys. nr 4 – komunikat Excela o ilości zamienionych nazw
Otrzymaliśmy
błąd w formule #NAZWA?, który wynika z tego, że został zamieniony również drugi
argument funkcji ZEZWALAJ. Musimy go poprawić i wpisać pierwotną nazwę.
Trzeci
argument funkcji to obliczenie_lub_nazwa2. U nas będzie to kolejny
arguemnt nazwa2. Szukamy teraz kolejnego elementu, który się powtarza w naszej
długiej formule – będzie to kolejny zakres tSprzedażk[Sprzedaż]. W formule
ponownie naciskamy skrót Alt+Enter, aby przejść do kolejnego wiersza i tam
podajemy kolejny argument funkcji – (nazwa2) Sprzedaż, trzeci argument, czyli
wartość_nazwy2 to będzie tSprzedażk[Sprzedaż]. Ponownie zaznaczamy jedną
komórkę z zakresu z naszą formułą oraz jedną z sąsiadujących i za pomocą skrótu
klawiszowego Ctrl+H, otwieramy okno Znajdowania i zamieniania. W tym oknie
analogicznie jak dla pierwszej nazwy w polu Znajdź wpisujemy wartość_nazwy2 (tSprzedażk[Sprzedaż]),
a w polu Zamień na wpisujemy nazwa2 (Sprzedaż). Zatwierdzamy zamienianie
przyciskiem Zamień wszystkie. Ponownie wyświetli nam się komunikat Excela o
ilości zmian i otrzymamy błąd w formule, wynikający z tego ze został zamieniony
również argument wartość_nazwy2. Wystarczy to zmienić i formuła zadziała
prawidłowo. Na tym etapie formuła funkcji ZEZWALAJ powinna wyglądać następująco:
Fragmenty
danych, które nazywamy możemy również ręcznie zamieniać w formule bez
korzystania z polecenia Znajdywania i zamieniania. Jednak wykorzystanie go daje
nam gwarancję, że żadne ich wystąpienie nam nie umknie.
Kolejnym
powtarzającym się elementem jest funkcja UNIKATOWE(SprzedW) – argument wartość_nazwa3,
którą zastąpimy słowem Sprzedawcy (nazwa3). Znowu analogicznie jak dla
poprzednich dwóch nazw zastępujemy odpowiednie nazwy polecenie Znajdywania i
zamieniania.
Następną
powtarzającą się nazwą jest funkcja ILE.WIERSZY(Sprzedawcy), czyli nasz kolejny
argument funkcji ZEZWALAJ – wartość_nazwy4, który zamienimy na Wiersze (nazwa4).
Ponownie zamieniamy wartości w całej formule.
Kolejna
nazwa, którą zamienimy to SUMA.JEŻELI(SprzedW; Sprzedawcy; Sprzedaż). Powtarza
się ona dwa razy, więc podmienimy ją ręcznie. Przypiszemy jej nazwę Wyniki.
Zapis całej formuły będzie wyglądał następująco:
Po
zatwierdzeniu formuły otrzymamy wyniki przedstawione na rys. nr 5.
Rys. nr 5 – wyniki działania funkcji ZEZWALAJ
Podsumowując,
najłatwiej było zastosować funkcje ZEZWALAJ na istniejącej długiej formule.
Dzięki jej wykorzystaniu mogliśmy podmienić elementy powtarzające się w
formule.
Nasza
formuła nadal działa dynamicznie, czyli kiedy wprowadzimy zmiany do danych
wejściowych, wyniki automatycznie się zaktualizują.
Książka Mistrz Excela + promo na 35 urodziny
Chcę Cię poinformować, że w końcu udało mi zebrać środki i dopiąć wszystkich formalności, żeby powstało II wydanie mojej książki Mistrz Excela (zostałem wydawcą) II wydanie jest wzbogacone o rozdział (nr 22) wprowadzający w genialny dodatek (Power Query) do Excela służący do pobierania, łączenia i wstępnej obróbki danych z wielu źródeł.
Książka Mistrz Excela to historia Roberta, który musi poznać dobrze Excela na potrzeby nowej pracy. Książka jest napisana w formie rozmów Roberta z trenerem, dzięki temu jest przystępniejsza w odbiorze niż standardowe książki techniczne pisane językiem "wykładowym".
Rozmowy zostały podzielone na 22 tematyczne rozdziały, które krok po kroku wprowadzają Cię w tajniki Excela. Robert zaczyna naukę od poznania ciekawych aspektów sortowania i filtrowania danych w Excelu, przechodzi przez formatowanie warunkowe, tabele przestawne, funkcje wyszukujące i wiele innych tematów, by na koniec poznać wstępne informacje o VBA i Power Query. A wszystko to na praktycznych przykładach i z dużą ilością zdjęć.
Żebyś mógł śledzić postępy Roberta, do książki dołączone są pliki Excela, na których pracuje Robert.
Na powyższej stronie znajdziesz dokładniejszy opis książki, opinie osób, które kupiły I wydanie oraz podgląd pierwszego rozdziału książki, żeby upewnić się, czy forma rozmów przy nauce Excela jest dla Ciebie. Jeśli książka Ci się spodoba poinformuj o niej swoich znajomych.
W ramach promocji na moje 35 urodziny możesz też mieć każdy z moich kursów wideo na Udemy za zaledwie 35 zł. Linki do kursów zamieszczam poniżej. W każdym kursie są udostępnione filmy do podglądu, byś mógł się przekonać czy dany kurs jest dla Ciebie.
W tym poście stworzymy ranking sprzedawców tablicowo za pomocą jednej formuły. W poprzednim poście omawialiśmy takie samo rozwiązanie tablicowe, ale z wykorzystaniem kolumn pomocniczych (porada 399 https://exceliadam.pl/excel/excel-ranking-sprzedawcow-tablicowo-porada-399 ). Dane do tego zadania oraz kolumny pomocnicze z poprzedniego postu zostały przedstawione na rys. nr 1.
Rys. nr 1 – dane do rozwiązania zadania
W poprzedniej poradzie rozpisaliśmy rozwiązanie na poszczególne formuły pomocnicze w osobnych kolumnach. Dzięki temu rozwiązanie było proste. W tym poście połączymy te formuły w jedną. Zasada ogólnie jest prosta, czyli będziemy kopiować poszczególne formuły. Formułę z poprzedniego kroku będziemy kopiować i wstawiać do kolejnej, podstawiając ją w miejscu, gdzie odwołujemy się do poprzedniej formuły. To wszystko w takim zamyśle było by proste, ale niestety funkcja POZYCJA.NAJW nie radzi sobie z obliczeniami w swoim argumencie odwołanie. Jeśli do tego argumentu dodamy wartość 0 (zero), czyli teoretycznie nie zmienimy wyniku, to Excel wyświetli nam komunikat o nieprawidłowej formule przedstawiony na rys. nr 2.
Rys. nr 2 – komunikat Excela
Podobnie
zachowuje się funkcja SUMA.JEŻELI. Obie te funkcje nie pozwalają na
obliczenia w swoich argumentach. Podsumowując, nie możemy wstawiać formuł z
poprzedniego kroku do kolejnego. Z tego względu musimy użyć innego rozwiązania,
które pozwoli nam wyciągnąć miejsca w rankingu poszczególnych sprzedawców.
Niestety rozwiązanie to będzie skomplikowane. Tak naprawdę, żeby sprawdzić,
które miejsce ma dany sprzedawca, to musimy sprawdzić, ilu sprzedawców ma
lepsze bądź równe miejsce. Kopiujemy sobie zapis funkcji SUMA.JEŻELI.
Zapis wygląda następująco:
I tworzymy
zapis, w którym sprawdzimy czy nasze wyniki funkcji SUMA.JEŻELI są większe bądź
równe wynikom funkcji SUMA.JEŻELI. Zapis formuły powinien wyglądać następująco:
Po
zatwierdzeniu powyższej formuły otrzymamy wyniki przedstawione na rys. nr 3.
Rys. nr 3 – wyniki porównania dwóch funkcji SUMA.JEŻELI
Otrzymaliśmy
wartości logiczne PRAWDA ponieważ funkcja porównała ze sobą poszczególne
wiersze. Nam chodzi o to, aby funkcja porównała każdy wiersz ze wszystkimi
innymi. Taki efekt możemy uzyskać za pomocą funkcji TRANSPONUJ. Dzięki
tej funkcji transponujemy jedną z naszych tablic. Sprawi to, że otrzymamy
wyniki przedstawione na rys. nr 4. Zapis formuły powinien wyglądać następująco:
Rys. nr 4 – wyniki porównania po transponowaniu jednej z tablic
Przy takiej
orientacji w pierwszym wierszu mamy informację, ile wartości z porównania jest
mniejszych od sprawdzanej aktualnie wartości. Dla pierwszego wiersza
(sprzedawca Maria) mamy 5 wartości logicznych PRAWDA i jedną wartość FAŁSZ,
oznacza to, że 5 osób z listy sprzedawców było od niej lepszych. Można
zauważyć, że wynik się zgadza, ponieważ w tabeli powyżej w kolumnie I mamy
informację, że Maria jest na 5‑tym miejscu w rankingu.
Teraz
wartości logiczne PRAWDA i FAŁSZ chcemy zamienić na wartości 0 i 1. Możemy to
zrobić za pomocą podwójnej negacji, czyli wstawiamy przed formułą dwa znaki
minus. Zapis powinien wyglądać następująco:
Po
zatwierdzeniu powyższej formuły otrzymamy wyniki przedstawione na rys. nr 5.
Rys. nr 5 – zamiana wartości logicznych na 0 i 1
Teraz musimy zsumować wartości w poszczególnych wierszach. Gdybyśmy użyli funkcji SUMA.ILOCZYNÓW to otrzymalibyśmy zliczoną całą tablicę. Możemy tutaj wykorzystać funkcję MACIERZ.ILOCZYN, żeby każdy wiersz przemnożył się przez kolumnę danych, którą pokażemy. Funkcja ta będzie mnożyć poszczególne elementy z wierszy pierwszej tabeli przez kolumny z drugiej tabeli, a następnie wyniki tego mnożenia doda do siebie, by wstawić je w pojedynczą komórkę. Potrzebujemy kolumny o takiej samej ilości komórek co wiersz. Cała formuła z poprzedniego kroku to będzie nasz pierwszy argument funkcji, czyli tablica1. Teraz musimy wstawić drugą tablicę (argument tablica2). Aby stworzyć drugą tablicę, musimy użyć funkcji SEKWENCJA, w której musimy mieć taką samą liczbę kolumn i wierszy. Pierwszy argument funkcji to wiersze, który możemy wyznaczyć za pomocą funkcji ILE.WIERSZYdla zakresu G2# (listy unikatowych sprzedawców). Drugi argument funkcji to kolumny, czyli wpisujemy wartość 1, bo potrzebujemy jednaj kolumny. Trzeci argument to początek, czyli od jakiej wartości chcemy zacząć – u nas wartość 1. Czwarty argument to krok, czyli wartość 0. Kiedy podejrzymy argument tablica2 funkcji MACIERZ.ILOCZYN to możemy zauważyć, że mamy same wartości 1 co widać na rys. nr 6.
Rys. nr 6 – podgląd wartości argumentu tablica2
Z podglądu
edycji formuły wychodzimy za pomocą skrótu klawiszowego Ctrl+Z. Cały
zapis formuły powinien wyglądać następująco:
Powyższą
formułę zatwierdzamy i otrzymamy tablicę z rankingiem sprzedawców przedstawioną
na rys. nr 7.
Rys. nr 7 – tablica z rankingiem sprzedawców
Stworzona
przez nas formuła jest dużo bardziej skomplikowana niż funkcja POZYCJA.NAJW
użyta w rozwiązaniu z kolumnami pomocniczym. Ta skomplikowana formuła poradziła
sobie doskonale z wyznaczeniem miejsc w rankingu poszczególnych sprzedawców. W
tej formule użyliśmy odwołania do zakres G2#, więc odwołanie to musimy jeszcze
zastąpić formułą z komórki G2. Zapis formuły będzie wtedy wyglądał następująco:
Mamy
odpowiednie wyniki i teraz możemy przejść na kolejny poziom obliczeń (ten,
który uzyskaliśmy w kolumnie K w poprzednim poście). Użyjemy funkcji SEKWENCJA
z komórki K2 i wstawimy ją w funkcję X.WYSZUKAJ. Funkcja X.WYSZUKAJ
miała formułę przedstawioną poniżej:
=X.WYSZUKAJ(K2#;I2#;G2)
Teraz w
miejsce poszczególnych zakresów rozlanych formuł musimy wstawić odpowiednie
formuły. Zakres K2# zastąpimy formułą z komórki K2, czyli
SEKWENCJA(ILE.WIERSZY(UNIKATOWE(tSprzedażk[Sprzedawca])))
Następnie
zamiast zakresu I2# nie możemy wstawić formuły z komórki I2, ponieważ funkcja
ta nie radzi sobie z obliczeniami w swoich argumentach. Musimy tutaj wstawić
skomplikowaną formułę, dzięki której wyznaczyliśmy ranking sprzedawców. Formuła
ta wyglądała następująco:
Powyższą
formułę zatwierdzamy i otrzymamy wyniki przedstawione na rys. nr 8.
Rys. nr 8 – wyniki skomplikowanej formuły funkcji X.WYSZUKAJ
Tak jak
zaznaczyłem na wstępie, chcemy mieć jedną formułę do przydzielania miejsc. A na
tą chwilę mamy dwie – w komórkach K2 i L2. Mamy w wynikach dwie kolumny, które
możemy połączyć za pomocą funkcji WYBIERZ. Najpierw kopiujemy całą
formułę funkcji X.WYSZUKAJ. Następnie w komórce K2 wpisujemy funkcję WYBIERZ,
której pierwszym argumentem jest nr_arg, czyli argumenty jakie chcemy
wybrać (w naszym przykładzie pierwszy i drugi argument {1\2}). Używamy tutaj backslasha,
żeby poinformować Excela, że chodzi nam o kolumny danych, a nie wiersze. Drugi
argument funkcji to wartość1, czyli zapis formuły, dzięki której
uzyskaliśmy pierwszą kolumnę danych. Formuła wygląda następująco: SEKWENCJA(ILE.WIERSZY(UNIKATOWE(tSprzedażk[Sprzedawca])))
Kolejny
argument to wartość2, czyli druga kolumna danych uzyskana za pomocą
skomplikowanej formuły funkcji X.WYSZUKAJ.
Zapis całej
formuły funkcji WYBIERZ powinien wyglądać następująco:
Po zatwierdzeniu
powyższej formuły otrzymamy dwie kolumny danych jednocześnie w kolumnach K i L
(takie same jak na rys. nr 8).
Podsumowując,
za pomocą funkcji WYBIERZpołączyliśmy dwie kolumny danych. Jak widać
otrzymaliśmy bardzo skomplikowaną formułę. Dlatego często lepiej jest zrobić
sobie kolumny pomocnicze, by ewentualnie później tylko przekleić formuły w
odpowiednie miejsca do funkcji wyższego poziomu. Gdyby nie funkcja POZYCJA.NAJW,
która nie radzi sobie z obliczeniami w jej argumentach, sprawa była by bardzo
prosta. Jednak tutaj musieliśmy ją zastąpić innym rozwiązaniem.
Mamy wyciągnięte
dane, więc teraz tak jak w poprzednim wideo zmodyfikujemy dane wejściowe przez
doklejenie dodatkowych wierszy. Sprawdzimy w ten sposób, czy nasza formuła
działa dynamicznie. Po doklejeniu dodatkowych danych nasze wyniki się
rozszerzyły o nowe pozycje, co widać na rys. nr 9.
Rys. nr 9 – zmienione dane po zmianach w danych wejściowych
Do wyznaczenia rankingu unikatowych sprzedawców użyliśmy jednej formuły, która zwróciła nam dwie kolumny danych (rys. nr 10).
Rys. nr 10 – skomplikowana formuła zwracająca dwie kolumny danych
Podsumowując,
nie zawsze możemy sobie pozwolić na tworzenie kolumn pomocniczych w analizie
danych. Dlatego możemy sobie je stworzyć tylko po to, by użyć ich do stworzenia
skomplikowanej formuły a potem je skasować.
W kolejnej
poradzie (nr 401) pomówimy o tym jak można ponazywać zakresy danych, żeby
skomplikowana formuła stała się krótsza i bardziej zrozumiała na pierwszy rzut
oka. Użyjemy do tego funkcji ZEZWALAJ.
Książka Mistrz Excela + promo na 35 urodziny
Chcę Cię poinformować, że w końcu udało mi zebrać środki i dopiąć wszystkich formalności, żeby powstało II wydanie mojej książki Mistrz Excela (zostałem wydawcą) II wydanie jest wzbogacone o rozdział (nr 22) wprowadzający w genialny dodatek (Power Query) do Excela służący do pobierania, łączenia i wstępnej obróbki danych z wielu źródeł.
Książka Mistrz Excela to historia Roberta, który musi poznać dobrze Excela na potrzeby nowej pracy. Książka jest napisana w formie rozmów Roberta z trenerem, dzięki temu jest przystępniejsza w odbiorze niż standardowe książki techniczne pisane językiem "wykładowym".
Rozmowy zostały podzielone na 22 tematyczne rozdziały, które krok po kroku wprowadzają Cię w tajniki Excela. Robert zaczyna naukę od poznania ciekawych aspektów sortowania i filtrowania danych w Excelu, przechodzi przez formatowanie warunkowe, tabele przestawne, funkcje wyszukujące i wiele innych tematów, by na koniec poznać wstępne informacje o VBA i Power Query. A wszystko to na praktycznych przykładach i z dużą ilością zdjęć.
Żebyś mógł śledzić postępy Roberta, do książki dołączone są pliki Excela, na których pracuje Robert.
Na powyższej stronie znajdziesz dokładniejszy opis książki, opinie osób, które kupiły I wydanie oraz podgląd pierwszego rozdziału książki, żeby upewnić się, czy forma rozmów przy nauce Excela jest dla Ciebie. Jeśli książka Ci się spodoba poinformuj o niej swoich znajomych.
W ramach promocji na moje 35 urodziny możesz też mieć każdy z moich kursów wideo na Udemy za zaledwie 35 zł. Linki do kursów zamieszczam poniżej. W każdym kursie są udostępnione filmy do podglądu, byś mógł się przekonać czy dany kurs jest dla Ciebie.
Kontynuujemy temat znajdowania elementów listy A, które zawierają elementy listy B. Dzięki wysiłkowi użytkownika YT Bill Szysz dostałem formułę, która wyciąga elementy z listy A bez kolumny pomocniczej.
Budowanie rozwiązania zaczniemy od zbudowania formuły, która oblicza ilość elementów, które spełniają postawiony warunek.
Zaczynamy od tego, że korzystamy z funkcji ZNAJDŹ (zwraca uwagę na wielkość liter) ewentualnie SZUKAJ.TEKST (nie zwraca uwagi na wielkość liter), żeby znaleźć elementy listy B w elementach listy A. W formule skorzystam z funkcji ZNAJDŹ, bo ma krótszy zapis, a wielkość liter jest identyczna w przykładowych listach.
Pojawia się jednak problem przy korzystaniu z funkcji ZNAJŹ ponieważ jeśli podamy pierwszy i drugi argument jako listy (kolumny), to wynik zwracany przez funkcję ZNAJDŹ nam nie pomoże, ponieważ Excel będzie porównywał nam poszczególne elementy na listach, a nie każdy element listy B z każdym elementem listy A. Żeby porównać listy w ten sposób jedna musi mieć orientację poziomą (być wierszem), a druga mieć orientację pionową (być kolumną). Zapisywanie list w odmiennej orientacji (pion-poziom) jest uciążliwe, dlatego pozostawiamy je jako listy w kolumnach, ale zmieniamy orientację listy B w formule za pomocą funkcji TRANSPONUJ.
=ZNAJDŹ(TRANSPONUJ($C$2:$C$3);$A$2:$A$7)
Dzięki temu wynikiem funkcji ZNAJDŹ jest macierz (tablica) mająca tyle kolumn ile jest elementów na liście B i tyle wierszy ile jest elementów na liście A. Na skrzyżowaniu uzyskujemy informację, czy dany element listy B został odnaleziony w danym elemencie listy A. Wynik zwracany przez aktualną formułę jest mało czytelny ({1\#ARG!;1\#ARG!;#ARG!\#ARG!;#ARG!\1;#ARG!\7;#ARG!\#ARG!}) dlatego dodatkowo przedstawiam go w postaci zakresu w Excelu, któray ułatwi zrozumienie tego wyniku (w powyższym zapisie backslash (\) oznacza nową kolumnę, a średnik (;) nowy wiersz).
Formuła, którą zbudujemy do obliczenia ilości elementów nie będzie najkrótszą formułą, ale będzie częścią formuły, którą musimy stworzyć, żeby wyciągać kolejne elementy listy A spełniające założenia.
Dalszym krokiem będzie zsumowanie wartości w poszczególnych wierszach pomijając błędy (przyjmując, że mają wartość zero). Czyli wynik będzie przedstawiał się jako jedna kolumna, którą widać obok wcześniej pokazywanych danych:
Żeby osiągnąć taki wynik w pierwszej kolejności musimy zamienić wartości błędów na zera – najprościej można to zrobić za pomocą funkcji JEŻELI.BŁĄD.
Dopiero wtedy możemy zsumować wartości w poszczególnych wierszach. Chyba najprościej można to zrobić przez pomnożenie przez macierz (tablicę) zawierającą w kolumnie tyle jedynek ile jest elementów na liście B. Taką macierz można stworzyć np: podnosząc numery wierszy elementów listy B do zerowej potęgi:
WIERSZ($C$2:$C$3)^0
Teraz musimy przemnożyć przez siebie stworzone macierz (więcej o mnożeniu macierzy w Porada #102 — Mnożenie macierzy przez siebie MACIERZ.ILOCZYN, ich zapis i formuły tablicowe)
Teraz musimy zsumować wartości większe od zera. To już proste zadanie bo, wystarczy prosta operacja porównania. Tylko musimy pamiętać, że wynikowy wartości PRAWDA i FAŁSZ nie są sumowane przez funkcję SUMA, dlatego musimy je zamienić na zera i jedynki np.: dodając zero:
Musimy pamiętać, żeby tą formułę zatwierdzać kombinacją klawisz Ctrl + Shift + Enter, ponieważ jest to formuła tablicowa.
W ten sposób dowiedzieliśmy się ile jest elementów, które spełniają nasze założenia. Teraz potrzebujemy te elementy wyciągnąć. Potrzebujemy do tego części formuły zwracającej wynik mnożenia macierzy.
Teraz nie chcemy sumować wartości większych od zera tylko zwrócić dla nich numer wiersza odpowiadającego im elementom listy A. Wystarczy, że wynik funkcji MACIERZ.ILOCZYN włożymy do funkcji JEŻELI i odpowiednio policzymy numery wierszy za pomocą funkcji WIERSZ. Dla wartości chcemy, żeby funkcja JEŻELI zwracała wartości logiczne FAŁSZ, więc nie wypełniamy trzeciego argumentu tej funkcji.
Teraz, ponieważ mamy ponumerowane po kolei interesujące nas elementy listy A, wystarczy je wyciągać za pomocą funkcji INDEKS i funkcji MIN.K, której będziemy zwiększać argument k licząc kolejne wiersze funkcją ILE.WIERSZY:
Naszą formułę dopracujemy, żeby nie pokazywała błędów, jeśli dojdziemy do wiersza, który przekroczy ilość elementów, które spełniają za łożenia (to już obliczyliśmy). Wystarczy do tego funkcja JEŻELI i sprawdzanie ilości wiersza:
Żeby stworzyć macierz odwrotną do macierzy A w Excelu trzeba wykorzystać funkcję MACIERZ.ODW. Wystarczy zaznaczyć obszar macierzy głównej i funkcję zatwierdzić Ctrl + Shift + Enter.
Możemy później za pomocą funkcji MACIERZ.ILOCZYN sprawdzić poprawność wyniku, czyli czy mnożenie macierzy A i macierzy do niej odwrotnej daje w wyniku macierz jednostkową, czyli taką, która po przekątnej ma wartości 1, a w pozostałych polach zera.
W Excelu może się pojawić niedokładność i w miejsce zer będą wpisywane małe liczby np: -6,93889E-18 , ponieważ ma ograniczenia co do dokładności liczb.
P.S.
Jeśli chcesz dowiedzieć się więcej na temat Excela lub nie wiesz jak coś zrobić to napisz do mnie. Ja w miarę możliwości odpowiem na Twoje pytanie.
Mnożenie macierzy przez siebie MACIERZ.ILOCZYN, ich zapis i formuły tablicowe — porada #102
Gdy mnożysz macierze musisz się stosować do kilku zasad.
Po pierwsze, żeby w ogóle było możliwe mnożenie macierzy przez siebie pierwsza macierz (nazwijmy ją macierz A) musi mieć tyle samo kolumn, co druga macierz (nazwijmy ją macierz B).
Kiedy już mamy odpowiednie 2 macierze, to jakiej się możemy się spodziewać macierzy wynikowej (macierz C). Będzie ona miała rozmiar ilość wierszy macierzy A i ilość kolumn macierzy B.
Żeby zrobić to obliczenie i pokazać wynik w Excelu trzeba zaznaczyć odpowiedni obszar, wykorzystać funkcję MACIERZ.ILOCZYN, a następnie wynik zatwierdzić kombinacją klawiszy Ctrl + Shift + Enter
Excel może zapisać w komórce tylko jedną wartość liczbową, ale zdarzają się sytuacje, gdy formuła zwraca więcej wyników tzw. tablicę/macierz. Wtedy w zapisie w Excelu,
gdy zobaczysz backslash \ oznacza to, że należy przejść do następnej kolumny,
a gdy zobaczysz średnik ; to oznacza przejście do kolejnego wiersza.
np: zapis {10000\10000\10000;4500\4500\4500}
oznacza macierz, która ma 2 wiersze i 3 kolumny. W pierwszym wierszu są tylko wartości 10000, a w drugim 4500.
P.S.
Jeśli chcesz dowiedzieć się więcej na temat Excela lub nie wiesz jak coś zrobić do mnie o tym w komentarzu pod spodem albo napisz do mnie bezpośrednio, ja w miarę możliwości odpowiem na Twoje pytanie.