Quantcast
Channel: Malinowy Excel
Viewing all articles
Browse latest Browse all 291

Funkcja SUMA niewyświetlająca błędów – formuła tablicowa

$
0
0

Ten temat chodzi za mną już od jakiegoś czasu. Wiem, że za wami też, bo pytacie mnie o to ;)MalinowyExcel_new_małe

A sprawa jest taka: jak policzyć sumę, aby wyświetlała prawidłową wartość, jeśli w sumowanym zakresie są błędy?

Często zdarza się, że zakres, który chcemy zsumować, zawiera inne formuły. Często formuły te zwracają błędy. Niestety jeśli w sumowanym zakresie funkcja SUMA napotka błąd – zwróci ten sam błąd. Np:

Suma wyświetlająca błąd - działanie niepożądane

Suma wyświetlająca błąd – działanie niepożądane

Funkcja SUMA zwraca błąd (#N/D), ponieważ jedna z sumowanych komórek zwraca ten błąd. Zwróćcie uwagę, że w tabeli z kursami walut na obrazku nie ma dolara australijskiego (AUD). Ja natomiast chciałabym, żeby funkcja SUMA sumowała wszystko to, co potrafi i wyświetlała wynik. Czyli w tym wypadku wszystko oprócz tej błędnej wartości. W tym celu należy użyć formuły tablicowej…

W idealnym scenariuszu (a taki właśnie piszemy :) ), chcemy, aby formuła sprawdziła czy każda komórka w zakresie zawiera błąd. Jeśli tak – ma dodawać zero, jeśli nie – ma dodawać tę wartość. Przedstawię to rozumowanie na schemacie:

Schemat rozumowania

Schemat rozumowania

Ponieważ ma to być obliczone w jednej formule, należy tutaj posłużyć się formułą tablicową. Łatwą na szczęście :)

Kilka słów o formułach tablicowych…

No właśnie… Co to są te formuły tablicowe? Tak w uproszczeniu można powiedzieć, że robią one w jednej formule coś, co normalnie trzeba byłoby rozpisywać na kilka kolumn z formułami.

W naszym przykładzie moglibyśmy dopisać drugą kolumnę, w której sprawdzilibyśmy, czy funkcja SUMA zwraca błąd. Jeśli tak – zwrócilibyśmy zero, jeśli nie – wartość komórki. Na koniec oczywiście podsumowalibyśmy tę kolumnę już zwykłą funkcją SUMA. I zrobione. Z praktycznego punktu widzenia, ta kolumna pośrednicząca nic nie wnosi do naszej tabeli. Należy więc szukać takiego rozwiązania, by jej nie użyć.

A od strony technicznej warto wiedzieć, że formuły tablicowe zatwierdzamy kombinacją klawiszy Ctrl + Shift + Enter (nie mylić z Ctrl + Enter!). Dzięki temu Excel wie, że wpisaną formułę ma traktować „specjalnie” :) Na dowód tego ujmuje ją w nawiasy klamrowe: { = … }. Nawiasy te pojawią się TYLKO wtedy, gdy zatwierdzimy formułę podanymi klawiszami. Próba wstawienia ich ręcznie – nie zadziała.

Magiczna formuła

No właśnie. Jaka więc będzie nasza formuła? Taka:

=SUMA(JEŻELI.BŁĄD(C8:C12;0))

Oczywiście zatwierdźcie ją Ctrl + Shift + Enter. Wtedy pojawią się nawiasy klamrowe otaczające formułę:

Formuła z nawiasami klamrowymi

Formuła z nawiasami klamrowymi

Formuła zaczyna liczenie od środka (to akurat normalne działanie :) ). Najpierw sprawdza czy wartość w każdej kolejnej komórce zakresu C8:C12 jest błędem (funkcje JEŻELI.BŁĄD) i jeśli tak – zamiast jej wartości „zapamiętuje”, że ma dodać (funkcja SUMA) zero. Jeśli nie ma błędu – ma dodać wartość komórki.

Używam określenia „zapamiętuje”, ale w rzeczywistości Excel tworzy sobie w pamięci tablicę (czy inaczej po prostu: zakres), do której wpisuje wyniki funkcji JEŻELI.BŁĄD dla każdej komórki zakresu. Robi w pamięci to, co my moglibyśmy zrobić korzystając z kolumny pomocniczej. Na koniec wyniki są sumowane funkcją SUMA, która sama z siebie operuje na tablicach (zakresach).

Po wprowadzeniu tej formuły, suma zostanie policzona już prawidłowo. Jak na obrazku:

Wynik formuły tablicowej

Wynik formuły tablicowej

I tyle! Łatwe? Mam nadzieję, że tak :)

Tak sobie myślę, że możecie zapytać jeszcze, czemu formuła licząca cenę w PLN nie zabezpiecza się przed błędem? Można przecież tę formułę objąć funkcją JEŻELI.BŁĄD, która zadziała tak samo, jak w formule tablicowej: zawróci dobrą wartość lub zero, w przypadku błędu. Czyli może to wyglądać następująco:

=JEŻELI.BŁĄD(ZAOKR(B8*WYSZUKAJ.PIONOWO(A8;$B$2:$C$4;2;0);2);0)

Wynik wyszedłby ten sam. Jednak znaczenie byłoby – moim zdaniem – inne. Nie jest prawdą bowiem, że cena 58 AUD jest równe 0 PLN. W takim przypadku wolę już zwrócić błąd (#N/D) niż błędną wartość. Oczywiście ostateczna decyzja należy do was.

Co o tym myślicie? Przyda się? Dajcie znać w komentarzach.

 


Viewing all articles
Browse latest Browse all 291

Trending Articles


Sprawdź z którą postacią z anime dzielisz urodziny


MDM - Muzyka Dla Miasta (2009)


Częstotliwość 3.722MHz


POSZUKIWANY TOMASZ SKOWRON-ANGLIA


Ciasto 3 Bit


Kasowanie inspekcji Hyundai ix35


Steel Division 2 SPOLSZCZENIE


SZCZOTKOWANIE TWARZY NA SUCHO


Potrzebuje schemat budowy silnika YX140


Musierowicz Małgorzata - Kwiat kalafiora [audiobook PL]