Formuła tablicowa to formuła, która może wykonywać wiele obliczeń na jednym lub większej liczbie elementów w tablicy. Tablica to wiersz wartości, kolumna wartości lub połączenie wierszy i kolumn wartości. Formuły tablicowe mogą zwracać wiele wyników lub jeden wynik.
Począwszy od aktualizacji platformy Microsoft 365 z września 2018 r., każda formuła, która może zwrócić wiele wyników, automatycznie rozleje je w dół lub do sąsiadujących komórek. Tej zmianie zachowania towarzyszy również kilka nowych dynamicznych funkcji tablicowych. Dynamiczne formuły tablicowe, niezależnie od tego, czy używają istniejących funkcji, czy dynamicznych funkcji tablicowych, muszą być wprowadzane tylko do pojedynczej komórki, a następnie potwierdzane przez naciśnięcie klawisza Enter. Starsze formuły tablicowe wymagają najpierw zaznaczenia całego zakresu danych wyjściowych, a następnie potwierdzenia formuły za pomocą klawiszy Ctrl+Shift+Enter. Są one często nazywane formułami CSE.
Za pomocą formuł tablicowych można wykonywać złożone zadania, takie jak:
- Szybkie tworzenie przykładowych zestawów danych.
- Zliczanie znaków znajdujących się w zakresie komórek.
- Sumowanie tylko liczb spełniających określone kryteria, takich jak najmniejsze wartości w zakresach lub liczby należące do przedziału określonego przez górną i dolną granicę.
- Sumowanie co n-tej wartości w zakresie wartości.
Niniejsze przykłady pokazują, w jaki sposób tworzy się wielo- i jednokomórkowe formuły tablicowe. Tam, gdzie to możliwe, uwzględniliśmy przykłady z niektórymi dynamicznymi funkcjami tablicowymi, a także istniejące formuły tablicowe wprowadzone jako tablice dynamiczne i starsze.
Pobierz nasze przykłady
Pobierz przykładowy skoroszyt ze wszystkimi przykładami formuł tablicowych w tym artykule.
Tablice wielokomórkowe i jednokomórkowe
W tym ćwiczeniu pokazano, jak za pomocą wielokomórkowych i jednokomórkowych formuł tablicowych można obliczać zestaw danych dotyczących sprzedaży. W pierwszej części wielokomórkowa formuła posłuży do obliczenia zestawu sum częściowych. W drugiej części jednokomórkowa formuła zostanie użyta w celu obliczenia sumy końcowej.
Wielokomórkowa formuła tablicowa
W tym miejscu obliczamy łączną sprzedaż samochodów coupe i sedan dla każdego sprzedawcy, wprowadzając =F10:F19*G10:G19 w komórce H10.
Po naciśnięciu klawisza Enterzostaną wyświetlone wyniki rozlane do komórek H10:H19. Zwróć uwagę, że zakres rozlania jest wyróżniony obramowaniem po zaznaczeniu dowolnej komórki znajdującej się w zakresie rozlania. Można również zauważyć, że formuły w komórkach H10:H19 są wyszarzone. Są one przeznaczone tylko do celów informacyjnych, więc jeśli chcesz dostosować formułę, musisz zaznaczyć komórkę H10, w której znajduje się główna formuła.Jednokomórkowa formuła tablicowa
W komórce H20 przykładowego skoroszytu wpisz lub skopiuj i wklej funkcję =SUMA(F10:F19*G10:G19), a następnie naciśnij klawisz Enter.
W tym przypadku program Excel mnoży wartości w tablicy (zakres komórek od F10 do G19) a następnie używa funkcji SUMA, aby dodać sumy do siebie. Wynikiem jest suma końcowa o wartości 1 590 000 zł.
W tym przykładzie pokazano, jak duże możliwości oferują formuły tego typu. Na przykład załóżmy, że użytkownik ma 1000 wierszy danych. Można zsumować wszystkie lub część danych, tworząc formułę tablicową w jednej komórce, zamiast przeciągania formuły przez 1000 wierszy. Zauważ też, że formuła jednokomórkowa (w komórce H20) jest całkowicie niezależna od formuły wielokomórkowej (formuła w komórkach od H10 do H19). Jest to kolejna zaleta korzystania z formuł tablicowych — elastyczność. Można zmienić inne formuły w kolumnie H bez wpływu na formułę w komórce H20. Dobrym rozwiązaniem może być także posiadanie takich niezależnych sum, co pomaga zweryfikować dokładność wyników.Ponadto formuły tablicowe mają następujące zalety:
- Spójności Jeśli klikniesz dowolną komórkę od komórki H10 w dół, zostanie wyświetlona ta sama formuła. Taka spójność umożliwia zapewnienie większej dokładności.
- Bezpieczeństwa Nie można zastąpić składnika wielokomórkowej formuły tablicowej. Aby się o tym przekonać, można kliknąć komórkę H11 i nacisnąć klawisz Delete. Program Excel nie zmieni danych wyjściowych tablicy. Aby je zmienić, należy zaznaczyć lewą górną komórkę tablicy lub komórkę H10.
- Mniejsze rozmiary plików Często można użyć pojedynczej formuły tablicowej zamiast kilku formuł pośrednich. W tym przykładzie sprzedaży samochodów użyto jednej formuły tablicowej do obliczania wyników w kolumnie E. Gdyby użyto standardowych formuł (takich jak =F10*G10, F11*G11, F12*G12, itp.), to aby obliczyć te same wyniki, należałoby użyć 11 różnych formuł. To nic wielkiego, ale co zrobić, jeśli masz tysiące wierszy do zsumowania? Wtedy formuła tablicowa może okazać się niezwykle przydatna.
- Wydajność Funkcje tablicowe mogą być skutecznym sposobem tworzenia złożonych formuł. Formuła tablicowa =SUMA(F10:F19*G10:G19) jest taka sama jak funkcja: =SUMA(F10*G10;F11*G11;F12*G12;F 13*G13,F14*G14,F15*G15,F16*G16,F17*G17,F18*G18,F19*G19).
- Rozlania Dynamiczne formuły tablicowe zostaną automatycznie rozlane do zakresu wyjściowego. Jeśli dane źródłowe znajdują się w tabeli programu Excel, rozmiar dynamicznych formuł tablicowych zostanie automatycznie dostosowany wraz z dodawaniem lub usuwaniem danych.
- #ROZLANIE! błąd Tablice dynamiczne wprowadziły błąd #SPILL!, który wskazuje, że zamierzony zakres rozlania jest z jakiegoś powodu zablokowany. Po usunięciu blokady formuła zostanie automatycznie rozlana.
Tworzenie stałych jedno- i dwuwymiarowych tablic
Stałe tablicowe to składniki formuł tablicowych. Aby utworzyć stałe tablicowe, należy wprowadzić listę elementów, a następnie ręcznie otoczyć listę nawiasami ({ }), tak jak pokazano poniżej:
={1,2,3,4,5} lub ={"Styczeń";"Luty";"Marzec"}
Rozdzielenie elementów średnikami spowoduje utworzenie tablicy poziomej (wiersza). Rozdzielenie elementów ukośnikami spowoduje utworzenie tablicy pionowej (kolumny). Aby utworzyć tablicę dwuwymiarową, należy rozdzielić elementy znajdujące się w każdym wierszu przecinkami, a wiersze — średnikami.
Wykonując poniższe procedury, można przećwiczyć tworzenie stałych poziomych, pionowych i dwuwymiarowych. Pokażemy przykłady użycia funkcji SEKWENCJA do automatycznego generowania stałych tablicowych, a także ręcznie wprowadzanych stałych tablicowych.
-
Tworzenie stałej poziomej
Użyj skoroszytu z poprzednich przykładów lub utwórz nowy skoroszyt. Zaznacz dowolną pustą komórkę i wprowadź =SEKWENCJA(1,5). Funkcja SEKWENCJA tworzy tablicę 1 wiersz na 5 kolumn tak samo jak ={1,2,3,4,5}. Zostanie wyświetlony następujący wynik:
-
Tworzenie stałej pionowej
Zaznacz pustą komórkę z miejscem poniżej i wprowadź =SEKWENCJA(5) lub ={1;2;3;4;5}. Zostanie wyświetlony następujący wynik:
-
Tworzenie stałej dwuwymiarowej
Zaznacz dowolną pustą komórkę z miejscem po prawej stronie i poniżej, a następnie wprowadź =SEKWENCJA(3,4). Zostanie wyświetlony następujący wynik:
Możesz również wprowadzić: lub ={1\2\3\4;5\6\7\8;9\10\11\12}, przy czym warto zwrócić uwagę na miejsce umieszczenia średników i przecinków.
Jak widać, funkcja SEKWENCJA oferuje znaczące korzyści w porównaniu z ręcznym wprowadzaniem wartości stałej tablicowej. Przede wszystkim pozwala zaoszczędzić czas, ale może również pomóc w zmniejszeniu liczby błędów wynikających z ręcznego wprowadzania. Jest również łatwiejsza do odczytania, zwłaszcza że średniki mogą być trudne do odróżnienia od separatorów w postaci przecinków.
Składnia stałej tablicowej
Oto przykład, który używa stałych tablicowych jako części większej formuły. W przykładowym skoroszycie przejdź do arkusza Stała w formule lub utwórz nowy arkusz.
W komórce D9 wprowadziliśmy funkcję =SEKWENCJA(1,5,3,1), ale można również wprowadzić wartości 3, 4, 5, 6 i 7 w komórkach A9:H9. Nie jest to żaden specjalny zestaw cyfr, po prostu wybraliśmy coś innego niż 1–5 dla większego zróżnicowania.
W komórce E11 wprowadź =SUMA(D9:H9*SEKWENCJA(1;5))) lub =SUMA(D9:H9*{1,2,3,4,5}). Formuły zwracają wartość 85.
Funkcja SEKWENCJA tworzy odpowiednik stałej {1,2,3,4,5}tablicowej. Ponieważ w programie Excel najpierw są wykonywane operacje na wyrażeniach w nawiasach, następnymi dwoma elementami używanymi w obliczeniach są wartości przechowywane w komórkach D9:H9 oraz operator mnożenia (*). W tym punkcie formuła mnoży wartości w przechowywanej tablicy przez odpowiadające im wartości w stałej. Jest to odpowiednik formuły:
=SUMA(D9*1,E9*2,F9*3,G9*4,H9*5)lub =SUMA(3*1,4*2,5*3,6*4,7*5)
Na końcu funkcja SUMA dodaje wartości i zwraca wynik 85.
Aby uniknąć używania przechowywanej tablicy i wykonać całą operację wyłącznie w pamięci, należy zastąpić przechowywaną tablicę inną stałą tablicową:
=SUMA(SEKWENCJA(1;5;3;1)*SEKWENCJA(1;5))) lub =SUMA({3,4,5,6,7}*{1,2,3,4,5})
Elementy, których można używać w stałych tablicowych
- Stałe tablicowe mogą zawierać liczby, tekst, wartości logiczne (takie jak PRAWDA i FAŁSZ) oraz wartości błędów, takie jak #N/A. Można używać liczb w formatach całkowitym, dziesiętnym i naukowym. Dołączenie tekstu wymaga ujęcia go w cudzysłowy ("tekst").
- Stałe tablicowe nie mogą zawierać dodatkowych tablic, formuł ani funkcji. Innymi słowy mogą zawierać tylko tekst lub liczby oddzielone średnikami i odwrotnymi ukośnikami. Po wprowadzeniu formuły, takiej jak {1\2\A1:D4} lub {1\2\SUM(Q2:Z8)}, w programie Excel zostanie wyświetlony komunikat ostrzegawczy. Dodatkowo wartości liczbowe nie mogą zawierać znaków procenta, dolara, średników i nawiasów.
Nadawanie nazw stałym tablicowym
Jednym z najlepszych sposobów używania stałych tablicowych jest ich nazwanie. Stałe nazwane są znacznie prostsze w użyciu i za ich pomocą można ukryć część złożonych formuł tablicowych. Aby nazwać stałą tablicową i użyć jej w formule, wykonaj następujące czynności:
Przejdź do pozycjiNazwy>zdefiniowane formułDefiniuj> nazwę. W polu Nazwa wpisz Kwartał1. W polu Odwołuje się do wprowadź następującą stałą (pamiętaj, aby ręcznie wpisać nawiasy klamrowe):
={"Styczeń"\"Luty"\"Marzec"}
Okno dialogowe powinno wyglądać podobnie:
Kliknij OK, a następnie zaznacz dowolny wiersz z trzema pustymi komórkami i wprowadź =Kwartał1.
Zostanie wyświetlony następujący wynik:
Jeśli chcesz, aby wyniki rozlały się w pionie, a nie w poziomie, możesz użyć funkcji =TRANSPONUJ(Kwartał1).
Jeśli chcesz wyświetlić listę 12 miesięcy, tak jak przy tworzeniu sprawozdania finansowego, możesz oprzeć ją na bieżącym roku za pomocą funkcji SEKWENCJA. Zaletą tej funkcji jest to, że chociaż wyświetlany jest tylko miesiąc, znajduje się w niej ważna data, którą można wykorzystać w innych obliczeniach. Te przykłady znajdują się w arkuszach Nazwana stała tablicowa i Szybki przykładowy zestaw danych w przykładowym skoroszycie.
=TEKST(DATA(ROK(DZIŚ()),SEKWENCJA(1,12),1),"mmm")
Używa funkcji DATA do utworzenia daty na podstawie bieżącego roku. Funkcja SEKWENCJA tworzy stałą tablicową od 1 do 12 dla okresu od stycznia do grudnia, a następnie funkcja TEKST konwertuje format wyświetlania na "mmm" (sty, lut, mar, itp.). Jeśli chcesz wyświetlić pełną nazwę miesiąca, na przykład styczeń, użyj formatu "mmmm".
Jeśli używasz nazwanej stałej jako formuły tablicowej, pamiętaj o wprowadzeniu znaku równości: =Kwartał1, nie tylko Kwartał1. Bez znaku równości program Excel zinterpretuje tablicę jako ciąg tekstowy i formuła nie zadziała w oczekiwany sposób. Należy też pamiętać, że można używać kombinacji funkcji, tekstu i liczb. Wszystko zależy od Twojej kreatywności.
Stałe tablicowe w działaniu
W poniższych przykładach pokazano kilka sposobów użycia stałych tablicowych w formułach tablicowych. W niektórych przykładach użyto funkcji TRANSPONUJ w celu przekonwertowania wierszy na kolumny i odwrotnie.
-
Mnożenie każdego elementu w tablicy
Wprowadź funkcję =SEKWENCJA(1,12)*2 lub ={1\2\3\4;5\6\7\8:9\10\11\12}*2
Możesz również dzielić za pomocą (/), dodawać za pomocą (+) i odejmować za pomocą (-). -
Obliczanie pierwiastków elementów w tablicy
Wprowadź funkcję =SEKWENCJA(1,12)^2 lub ={1\2\3\4:5\6\7\8:9\10\11\12}^2 -
Znajdowanie pierwiastka kwadratowego elementów w tablicy
Wprowadź =PIERWIASTEK(SEKWENCJA(1,12)^2)lub =PIERWIASTEK({1\2\3\4; 5,6,7,8; 9,10,11,12}^2) -
Transponowanie jednowymiarowego wiersza
Wprowadź =TRANSPONUJ(SEKWENCJA(1;5))) lub =TRANSPONUJ({1,2,3,4,5})
Mimo że wprowadzono poziomą stałą tablicową, funkcja TRANSPONUJ konwertuje stałą tablicową na kolumnę. -
Transponowanie jednowymiarowej kolumny
Wprowadź funkcję =TRANSPONUJ(SEKWENCJA(5,1)) lub =TRANSPONUJ({1;2;3;4;5})
Mimo że wprowadzono pionową stałą tablicową, funkcja TRANSPONUJ konwertuje stałą na wiersz. -
Transponowanie stałej dwuwymiarowej
Wprowadź funkcję =TRANSPONUJ(SEKWENCJA(3,4)) lub =TRANSPONUJ({1\2\3\4;5\6\7\8;9\10\11\12})
Funkcja TRANSPONUJ konwertuje każdy wiersz na serię kolumn.
Korzystanie z podstawowych formuł tablicowych
W tej sekcji znajdują się przykłady podstawowych formuł tablicowych.
Tworzenie tablicy na podstawie istniejących wartości
W poniższym przykładzie wyjaśniono, jak za pomocą formuł tablicowych utworzyć nową tablicę z wykorzystaniem istniejącej tablicy.
Wprowadź funkcję =SEKWENCJA(3,6,10,10) lub ={10\20\30\40\50\60;70\80\90\100\110\120;130\140\150\160\170\180}
Pamiętaj, aby wpisać { (otwierający nawias klamrowy) przed liczbą 10 i } (zamykający nawias klamrowy) po liczbie 180, ponieważ tworzysz tablicę liczb.
Następnie wprowadź =D9# lub =D9:I11 w pustej komórce. Tablica komórek o rozmiarze 3 x 6 jest wyświetlana z takimi samymi wartościami jak w komórkach D9:D11. Znak # jest nazywany operatorem rozlanego zakresu i stanowi sposób programu Excel na odwoływanie się do całego zakresu tablicy zamiast wpisywania go.
Tworzenie stałej tablicowej na podstawie istniejących wartości
Możesz pobrać wyniki rozlanej formuły tablicowej i przekonwertować je na jej części składowe. Zaznacz komórkę D9, a następnie naciśnij klawisz F2, aby przełączyć się do trybu edycji. Następnie naciśnij klawisz F9 , aby przekonwertować odwołania do komórek na wartości, które program Excel następnie konwertuje na stałą tablicową. Po naciśnięciu klawisza Enter, formuła =D9# powinna wyglądać następująco ={10\20\30;40\50\60;70\80\90}.Zliczanie znaków w zakresie komórek
W poniższym przykładzie pokazano, jak można ustalić liczbę znaków w zakresie komórek. Włącznie ze spacjami.
=SUMA(DŁ(C9:C13))
W tym przypadku funkcja DŁ zwraca długość każdego ciągu tekstowego z każdej komórki w zakresie. Następnie funkcja SUMA dodaje te wartości i wyświetla wynik (66). Jeśli chcesz uzyskać średnią liczbę znaków, możesz użyć:
=ŚREDNIA(DŁ(C9:C13))Zawartość najdłuższej komórki w zakresie C9:C13
=INDEKS(C9:C13,PODAJ.POZYCJĘ(MAKS(DŁ(C9:C13)),DŁ(C9:C13),0),1)
Ta formuła działa tylko wtedy, gdy zakres danych zawiera jedną kolumnę komórek.
Poniżej przedstawiono analizę zasady działania tej formuły, począwszy od elementów wewnętrznych i przechodząc do elementów zewnętrznych. Funkcja DŁ zwraca długość każdego z elementów w zakresie komórek D2:D6. Funkcja MAKS oblicza największą wartość spośród tych elementów, która odpowiada najdłuższemu ciągowi tekstowemu, znajdującemu się w komórce D3.
Tutaj sprawy nieco się komplikują. Funkcja PODAJ.POZYCJĘ oblicza przesunięcie (pozycję względną) komórki zawierającej najdłuższy ciąg tekstowy. W tym celu ta funkcja wymaga trzech argumentów: szukana wartość, przeszukiwana tablica i typ porównania. Funkcja PODAJ.POZYCJĘ wyszukuje w przeszukiwanej tablicy określoną szukaną wartość. W tym przypadku szukaną wartością jest najdłuższy ciąg tekstowy:
MAKS(DŁ(C9:C13)
i taki ciąg znajduje się w tej tablicy:
DŁ(C9:C13)
Argument typu dopasowania w tym przypadku to 0. Typ dopasowania może być wartością 1, 0 lub -1.- 1 — zwraca największą wartość, która jest mniejsza lub równa szukanej wartości
- 0 — zwraca pierwszą wartość dokładnie równą szukanej wartości
- -1 — zwraca najmniejszą wartość większą lub równą określonej szukanej wartości
- Jeśli użytkownik pominie typ porównania, program Excel użyje wartości 1.
Funkcja INDEKS natomiast pobiera te argumenty: tablicę oraz numer wiersza i numer kolumny w tej tablicy. Zakres komórek C9:C13 dostarcza tablicę, funkcja PODAJ.POZYCJĘ dostarcza adres komórki, a ostatni argument (1) określa, że wartość pochodzi z pierwszej kolumny w tablicy.
Jeśli chcesz uzyskać zawartość najmniejszego ciągu tekstowego, w powyższym przykładzie zastąpisz wartość MAKS wartością MIN.Znajdowanie n najmniejszych wartości w zakresie
W tym przykładzie pokazano, jak znaleźć trzy najmniejsze wartości w zakresie komórek, w których utworzono tablicę danych przykładowych w komórkach B9:B18 za pomocą: =INT(RANDARRAY(10;1)*100). Należy pamiętać, że TABELA.LOSOWO jest funkcją nietrwałą, więc za każdym razem, gdy program Excel dokona obliczeń, otrzymasz nowy zestaw liczb losowych.
Wprowadź =MIN.K(B9#,SEKWENCJA(D9), =MIN.K(B9:B18,{1;2;3})
Ta formuła używa stałej tablicowej w celu trzykrotnego wykonania funkcji MIN.K i zwrócenia 3 najmniejszych elementów tablicy znajdującej się w komórkach B9:B18, gdzie 3 to wartość zmienna w komórce D9. Aby znaleźć więcej wartości, można zwiększyć wartość w funkcji SEKWENCJA lub dodać więcej argumentów do stałej. W tej formule można także używać dodatkowych funkcji, takich jak SUMA lub ŚREDNIA. Na przykład:
=SUMA(MIN.K(B9#,SEKWENCJA(D9))
=ŚREDNIA(MIN.K(B9#,SEKWENCJA(D9))Znajdowanie n największych wartości w zakresie
Aby znaleźć największe wartości w zakresie, należy zastąpić funkcję MIN.K funkcją MAX.K. Ponadto w poniższym przykładzie użyto funkcji WIERSZ i ADR.POŚR.
Wprowadź =MAX.K(B9#,WIERSZ(ADR.POŚR("1:3")))) lub =MAX.K(B9:B18;WIERSZ(ADR.POŚR("1:3")))
W tym miejscu przyda się nieco informacji o funkcjach WIERSZ i ADR.POŚR. Za pomocą funkcji WIERSZ można utworzyć tablicę zawierającą kolejne liczby całkowite. Na przykład wybierz pustą pozycję i wprowadź:
=WIERSZ(1:10)
Ta formuła tworzy kolumnę zawierająca 10 kolejnych liczb całkowitych. Aby zobaczyć potencjalny problem, wstaw wiersz powyżej zakresu zawierającego formułę tablicową (czyli powyżej wiersza 1). Program Excel dostosuje odwołania do wierszy, a formuła wygeneruje liczby całkowite z zakresu od 2 do 11. Aby rozwiązać ten problem, należy dodać do formuły funkcję ADR.POŚR:
=WIERSZ(ADR.POŚR("1:10"))
Funkcja ADR.POŚR używa ciągów tekstowych jako argumentów (dlatego zakres 1:10 jest umieszczony w cudzysłowie). Program Excel nie dostosowuje wartości tekstowych, gdy użytkownik wstawia wiersze lub w inny sposób przenosi formułę tablicową. Dzięki temu funkcja WIERSZ zawsze generuje odpowiednią tablicę liczb całkowitych. Równie łatwo można użyć funkcji SEKWENCJA:
=SEKWENCJA(10)
Przeanalizujmy użytą wcześniej formułę — =MAX.K(B9#,WIERSZ(ADR.POŚR("1:3"))) — zaczynając od nawiasów wewnętrznych i kierując się na zewnątrz: funkcja ADR.POŚR zwraca zestaw wartości tekstowych, w tym przypadku wartości od 1 do 3. Funkcja WIERSZ z kolei generuje tablicę kolumnową z trzema komórkami. Funkcja MAX.K używa wartości z zakresu komórek B9:B18 i jest oceniana trzy razy dla każdego odwołania zwróconego przez funkcję WIERSZ. Jeśli chcesz znaleźć więcej wartości, dodaj większy zakres komórek do funkcji ADR.POŚR. Podobnie jak w przykładach z funkcją MIN.K, tej formuły można użyć także z innymi funkcjami, takimi jak SUMA i ŚREDNIA.
Postępowanie z błędami
-
Suma zakresu zawierającego wartości błędu
Funkcja SUMA w programie Excel nie działa, gdy użytkownik próbuje podsumować zakres zawierający wartość błędu, taką jak #ARG! lub #N/D. W tym przykładzie pokazano, w jaki sposób można podsumować wartości w zakresie nazwanym Dane, który zawiera błędy:
-
=SUMA(JEŻELI(CZY.BŁĄD(Dane);"";Dane))
Formuła tworzy nową tablicę zawierającą oryginalne wartości poza wszelkimi wartościami błędów. Począwszy od funkcji wewnętrznych i poruszając się w kierunku zewnętrznym, funkcja CZY.BŁĄD wyszukuje błędy w zakresie komórek (Dane). Funkcja JEŻELI zwraca określoną wartość, jeśli podany warunek ma wartość PRAWDA, albo inną wartość, jeśli ten warunek ma wartość FAŁSZ. W tym przypadku zwraca puste ciągi ("") dla wszystkich wartości błędów, ponieważ są one ocenione jako wartość TRUE, i zwraca pozostałe wartości z zakresu (Dane), ponieważ są one ocenione jako FAŁSZ, czyli niezawierające wartości błędów. Następnie funkcja SUMA oblicza sumę dla filtrowanej tablicy. -
Ustalanie liczby wartości błędu w zakresie
Formuła w tym przykładzie jest podoba do poprzedniej formuły, ale zwraca liczbę wartości błędu w zakresie nazwanym Dane, zamiast je odfiltrowywać:
=SUMA(JEŻELI(CZY.BŁĄD(Dane);1;0))
Ta formuła tworzy tablicę zawierającą wartość 1 dla komórek zawierających błędy i wartość 0 dla komórek niezawierających błędów. Można uprościć tę formułę i uzyskać taki sam wynik, usuwając trzeci argument funkcji JEŻELI:
=SUMA(JEŻELI(CZY.BŁĄD(Dane);1))
Jeśli nie zostanie określony argument, funkcja JEŻELI zwróci wartość FAŁSZ, gdy komórka nie będzie zawierać wartości błędu. Tę formułę można jeszcze bardziej uprościć:
=SUMA(JEŻELI(CZY.BŁĄD(Dane)*1))
Ta wersja działa, ponieważ PRAWDA*1=1, a FAŁSZ*1=0.
Sumowanie wartości na podstawie warunków
Może zaistnieć konieczność zsumowania wartości na podstawie warunków.
Na przykład ta formuła tablicowa sumuje tylko dodatnie liczby całkowite w zakresie nazwanym Sprzedaż, który reprezentuje komórki E9:E24 w powyższym przykładzie:
=SUMA(JEŻELI(Sprzedaż>0;Sprzedaż))
Funkcja JEŻELI tworzy tablicę wartości dodatnich i fałszywych. Funkcja SUMA ignoruje wartości FAŁSZ, ponieważ 0+0=0. Zakres komórek używany w tej formule może składać się z dowolnej liczby wierszy i kolumn.
Można także sumować wartości, które spełniają kilka warunków. Na przykład ta formuła tablicowa oblicza wartości większe niż 0 ORAZ mniejsze niż 2500:
=SUMA((Sprzedaż>0)*(Sprzedaż<2500)*(Sprzedaż))
Należy pamiętać, że ta formuła zwróci błąd, jeśli w zakresie będzie znajdować się co najmniej jedna komórka, której wartość nie jest wartością liczbową.
Można też tworzyć formuły tablicowe używające warunków typu LUB. Można na przykład zsumować wartości większe niż 0 LUB mniejsze niż 2500:
=SUMA(JEŻELI((Sprzedaż>0)+(Sprzedaż<2500);Sprzedaż))
Funkcji ORAZ i LUB nie można używać w formułach tablicowych bezpośrednio, ponieważ zwracają one pojedynczy wynik (PRAWDA lub FAŁSZ), a funkcje tablicowe wymagają tablic wyników. Można obejść ten problem, korzystając z logiki pokazanej w poprzedniej formule. Innymi słowy można wykonywać operacje matematyczne, takie jak dodawanie lub mnożenie, na wartościach spełniających warunek LUB bądź ORAZ.
W tym przykładzie pokazano, jak można usunąć zera z zakresu w sytuacji, gdy trzeba obliczyć średnią z wartości w zakresie. W formule jest używany zakres danych o nazwie Sprzedaż:
=ŚREDNIA(JEŻELI(Sprzedaż<>0;Sprzedaż))
Funkcja JEŻELI tworzy tablicę wartości, które nie są równe 0, a następnie przekazuje te wartości do funkcji ŚREDNIA.
Ustalanie liczby różnic między dwoma zakresami komórek
Ta formuła tablicowa porównuje wartości w dwóch zakresach komórek o nazwach MojeDane i TwojeDane i zwraca liczbę różnic między tymi zakresami. Jeśli zawartość obu zakresów jest identyczna, formuła zwraca wartość 0. Aby używać tej formuły, należy mieć zakresy komórek o takim samym rozmiarze i takiej samej liczbie wymiarów. Na przykład jeżeli zakres MojeDane ma rozmiar 3 wiersze na 5 kolumn, zakres TwojeDane także musi mieć rozmiar 3 wiersze na 5 kolumn:
=SUMA(JEŻELI(MojeDane=TwojeDane,0,1))
Formuła tworzy nową tablicę o takim samym rozmiarze jak porównywane zakresy. Funkcja JEŻELI wypełnia tę tablicę wartościami 0 i 1 (0 dla komórek o różnych wartościach, a 1 dla komórek o identycznych wartościach). Następnie funkcja SUMA zwraca sumę wartości w tablicy.
Tę formułę można uprościć w następujący sposób:
=SUMA(1*(MojeDaneDane<>))
Ta formuła działa podobnie do formuły zliczającej wartości błędu w zakresie, ponieważ PRAWDA*1=1, a FAŁSZ*1=0.
Ta formuła tablicowa zwraca numer wiersza, w którym znajduje się maksymalna wartość jednokolumnowego zakresu o nazwie Dane:
=MIN(JEŻELI(Dane=MAX(Dane);WIERSZ(Dane);""))
Funkcja JEŻELI tworzy nową tablicę odpowiadającą zakresowi Dane. Jeśli odpowiednia komórka zawiera maksymalną wartość w zakresie, tablica zawiera numer wiersza. W przeciwnym razie tablica zawiera pusty ciąg (""). Funkcja MIN używa nowej tablicy jako drugiego argumentu i zwraca najmniejszą wartość, która odpowiada numerowi wiersza zawierającego maksymalną wartość w zakresie Dane. Jeśli zakres Dane zawiera kilka identycznych maksymalnych wartości, formuła zwróci numer wiersza pierwszej z tych wartości.
Aby zwrócić rzeczywisty adres komórki zawierającej maksymalną wartość, należy użyć następującej formuły:
=ADRES(MIN(JEŻELI(Dane=MAX(Dane);WIERSZ(Dane);""));KOLUMNA(Dane))
Podobne przykłady znajdują się w przykładowym skoroszycie w arkuszu Różnice między zestawami danych.
Oświadczenie
Następujący artykuł jest oparty na serii artykułów Excel Power User napisanych przez Colina Wilcoxa i zaadaptowany z rozdziałów 14 i 15 książki Excel 2002 Formulas autorstwa Johna Walkenbacha, specjalisty Excel MVP.
Potrzebujesz dodatkowej pomocy?
Zawsze możesz zadać pytanie ekspertowi w społeczności technicznej programu Excel lub uzyskać pomoc techniczną w społecznościach.
Zobacz również
Tablice dynamiczne i zachowanie tablicy rozlanej
Dynamiczne formuły tablicowe a starsze formuły tablicowe CSE