Funkcja SUMA.JEŻELI i kilka warunków

Funkcja SUMA.JEŻELI pozwala obliczyć łączną wartość wybranych komórek w zakresie. Jej użyteczność jest ograniczona przez fakt, że pozwala na zdefiniowanie tylko jednego warunku. Istnieją jednak sposoby, aby to obejść — artykuł opisuje cztery z nich.

Przykładowy arkusz, na którym będę pracował, przedstawia ilustracja poniżej. Zawiera on listę wydatków z dwóch miesięcy. Pozycji jest dość mało, aby wszystkie obliczenia można było zrobić w pamięci, ale bez trudu można sobie wyobrazić analogiczny plik zawierający setki lub tysiące wierszy.

Okno programu Calc pokazujące przykładowy arkusz kalkulacyjny. W kolumnie A wpisano: tekst miesiąc, pięć razy tekst styczeń i pięć razy tekst luty. W kolumnie B wpisano teksty: przeznaczenie, rachunki, paliwo, jedzenie (razy dwa), zachcianki, rachunki, paliwo, jedzenie (razy dwa), zachcianki. W kolumnie C wpisano tekst kwota i losowe liczby.

Załóżmy, że chcę obliczyć łączną kwotę wydaną na pożywienie. W takiej sytuacji mogę skorzystać z formuły:

=SUMA.JEŻELI(B2:B11;"=jedzenie";C2:C11)

Funkcja pozwala na wyszukanie w zakresie (pierwszy argument) komórek, które spełniają określony warunek (drugi argument). Następnie oblicza sumę wartości w komórkach odpowiadających im w kolejnym zakresie (trzeci argument).

Ostatni argument jest opcjonalny. Jeżeli zostanie pominięty, funkcja zsumuje komórki spełniające warunek w zakresie określonym w pierwszym argumencie. W naszym przypadku zawiera on tylko tekst, co pozbawia takie działanie sensu.

Co jednak gdybyśmy chcieli wiedzieć, ile kosztowała żywność tylko w wybranym miesiącu? Problem ten można rozwiązać na cztery różne sposoby.

Funkcja SUMA.WARUNKÓW

Sposobem najprostszym, ale dostępnym jedynie dla użytkowników LibreOffice 4.0 i nowszych, jest skorzystanie z funkcji SUMA.WARUNKÓW. W gruncie rzeczy jest to funkcja LICZ.JEŻELI przystosowana do obsługi wielu kryteriów. Gotowa formuła wygląda następująco:

=SUMA.WARUNKÓW(C2:C11;A2:A11;"=styczeń";B2:B11;"=jedzenie")

Pierwszym argumentem jest zakres komórek, których wartości mają zostać zsumowane. Po nich następują pary: zakres do przeszukania oraz warunek. Takich par może być najwyżej 30. Funkcja zwróci sumę tylko tych komórek, które spełniają wszystkie podane kryteria. Widzimy przy okazji, że kolejność argumentów jest odmienna niż w przypadku funkcji SUMA.JEŻELI.

Okno programu Calc pokazujące przykładowy arkusz z wprowadzoną funkcją SUMA.WARUNKÓW.

Funkcja BD.SUMA

Drugi sposób również jest bardzo prosty, ale wymaga wykorzystania dodatkowych komórek. Opiera się on na skorzystaniu z funkcji BD.SUMA przeznaczonej do dokonywania obliczeń w bazach danych. Odpowiednia formuła znajduje się poniżej:

=BD.SUMA(A1:C11;3;A15:C16)

Wpierw (pierwszy argument) podano zakres komórek stanowiący całą bazę danych, wraz z nagłówkami.

Następnie (drugi argument) określono numer kolumny, z której wartości mają zostać zsumowane; kolumny liczy się od lewej strony, zaczynając od 1. Zamiennie można zastosować adres komórki z pierwszego wiersza (nagłówka) bazy.

Na końcu (trzeci argument) zdefiniowano zakres komórek zawierający zestaw warunków, które mają zostać spełnione. Pierwszy wiersz tego zakresu musi być identyczny z pierwszym wierszem całej bazy danych.

Okno programu Calc pokazujące przykładowy arkusz z wprowadzoną funkcją BD.SUMA. W komórce A15 wpisano tekst miesiąc; w komórce B15 — tekst przeznaczenie; w komórce C15 — tekst kwota. W komórce A16 wpisano tekst styczeń, zaś w komórce B16 — tekst jedzenie.

W dedykowanym artykule znajduje się więcej informacji na temat funkcji bazodanowych.

Funkcja SUMA.ILOCZYNÓW

Trzeci sposób opiera się na skróconych instrukcjach warunkowych oraz funkcji SUMA.ILOCZYNÓW. Utworzenie odpowiedniej formuły jest odrobinę bardziej skomplikowane, ale za to nie wymaga wypełniania dodatkowych komórek. Gotowa formuła została zamieszczona poniżej:

=SUMA.ILOCZYNÓW((A2:A11="styczeń")*(B2:B11="jedzenie")*C2:C11)

Wykorzystana funkcja SUMA.ILOCZYNÓW przyjmuje jako argumenty zakresy komórek (macierze). Jej działanie polega na pomnożeniu przez siebie ich odpowiadających sobie elementów, a następnie zsumowaniu uzyskanych iloczynów.

Z kolei zapis w nawiasach (np. (A2:A11="styczeń")) jest skróconą instrukcją warunkową. Jeżeli podany wewnątrz warunek jest spełniony, całość zwróci prawdę (czyli 1); w przeciwnym wypadku zwracany jest fałsz (0).

Tak więc nasza formuła dla każdego wiersza w zakresie dokonuje trzech obliczeń. Wpierw sprawdza, czy komórka w kolumnie A zawiera tekst „styczeń”, po czym zwraca 1 lub 0. Następnie porównuje zawartość komórki w kolumnie B z tekstem „jedzenie”, ponownie zwracając 1 lub 0. Na końcu mnoży przez siebie wyniki porównań i komórkę w kolumnie C.

Jeżeli któryś z warunków nie zostanie spełniony, cały iloczyn będzie wynosił zero (każda liczba pomnożona przez zero daje zero); jeżeli zaś spełnione zostaną wszystkie kryteria, iloczyn będzie wynosił po prostu wartość komórki C (każda liczba pomnożona przez jeden daje siebie samą). W ten sposób suma iloczynów staje się sumą komórek z wierszy spełniających odpowiednie kryteria.

W powyższej formule do oddzielenia od siebie kolejnych zakresów wykorzystano znak mnożenia. Równie dobrze można było zastosować standardowy symbol oddzielenia argumentów funkcji, czyli średnik.

Okno programu Calc pokazujące przykładowy arkusz z wprowadzoną funkcją SUMA.ILOCZYNÓW.

Szczegółowemu opisowi funkcji SUMA.ILOCZYNÓW poświęciłem osobny artykuł.

Formuła macierzowa

Ostatnią z możliwości jest wykorzystanie zwykłej funkcji SUMA, ale wprowadzonej jako formuła macierzowa. Wygląda ona następująco:

=SUMA((A2:A11="styczeń")*(B2:B11="jedzenie")*C2:C11)

Po wprowadzeniu formuły należy ją zatwierdzić wciskając jednocześnie klawisze Ctrl + Shift + Enter. Jeżeli tego nie zrobimy, uzyskany wynik będzie wynosił 0.

W istocie formuła ta działa identycznie jak opisana wyżej formuła zawierająca funkcję SUMA.ILOCZYNÓW. Ponownie dokonuje się porównania wartości komórek z kryteriami wyszukiwania; ponownie mnoży się wyniki porównań oraz komórki z kolumny C; ponownie na końcu wyliczana jest suma iloczynów. Cała różnica polega na tym, że wtedy wykorzystana funkcja sama dokonywała obliczeń dla wszystkich komórek w zakresie; tym razem możliwe jest to dzięki wymuszeniu trybu obliczeń macierzy.

Okno programu Calc pokazujące przykładowy arkusz z wprowadzoną funkcją SUMA w trybie macierzowym.

Formuły macierzowe zostały dokładniej opisane w dedykowanym im artykule.

Podobał Ci się ten artykuł? Zapisz się na listę subskrybentów i otrzymuj informacje o następnych

komentarzy 67

  • Jacek Rachwał napisał(a):

    Bardzo się cieszę, że są osoby które poświęcają czas na ewangelizacje nieuków :] – Dobrze Ci idzie takie poradniki to prawdziwy skarb!
    Mam takie pytanie czy jest jakaś funkcja, która z sumuje mi wartości występujące w kolumnie z wyjątkiem 4 najsłabszych, bez sortowania!
    Pozdrawiam

    Jacek Rachwał

    • Mirosław Zalewski napisał(a):

      Jedna funkcja nie, ale można zrobić taką formułę. Potraktuję to jako propozycję artykułu — postaram się zbadać tę sytuację i zaproponować jakieś rozwiązanie.
      Przede wszystkim jednak musimy określić, co mamy na myśli mówiąc o „4 najsłabszych” — chodzi o 4 najmniej liczne komórki, czy o cztery najniższe wartości? Ma to duże znaczenie w sytuacji, gdy kilka komórek ma taką samą wartość (powiedzmy cztery jedynki).

      Dziękuję także za pozytywną opinię 🙂 .

    • rozum napisał(a):

      „[…] na ewangelizacje nieuków :]” – to ma być śmieszne, czy prostackie lub domniemywam, że pisząc to myślałeś tylko o sobie.

  • Mariusz napisał(a):

    Witam serdecznie.
    Jednocześnie podziwiam zgromadzoną wiedzę, jak i jej zazdroszczę.
    Przekonanie, że „radzę sobie całkiem dobrze z Calc’iem”, na tym poradniku pryska jak bańka mydlana 😉
    Przy okazji tego tematu mam takie oto pytanie:
    W Arkuszu 1 mam taką oto tabelę:
    http://mariosvd.nstrefa.pl/calc/01.jpg
    A w Arkuszu 2 chciałbym, aby wyświetlały się tylko wartości, które w kolumnie B mają skrót „S”, pomijając wszystkie inne, i jeśli to możliwe, stosując taki właśnie zapis „S001” – i następne:
    http://mariosvd.nstrefa.pl/calc/02.jpg
    Ma Pan jakiś pomysł, jak sobie z tym poradzić?

    • Mirosław Zalewski napisał(a):

      Najprościej będzie za pomocą filtra, chociaż wymaga to odrobiny wprawy. Poniżej skrócona wersja instrukcji; bardziej rozbudowana znajdzie się w dedykowanym artykule, który kiedyś powstanie 😉 .
      1. Należy zdefiniować zakres komórek, z których będą czerpane dane (Dane → Określ zakres)
      2. Zaznaczyć ten zakres i wybrać tworzenie nowego filtra standardowego (Dane → Filtr → Filtr standardowy…)
      3. W części Więcej opcji zaznaczyć: Kopiuj wyniki do, Zachowaj reguły filtru. W okienku wprowadzić adres pierwszej komórki, do której mają zostać wprowadzone skopiowane dane. Określić reguły filtrowania wedle życzenia.
      4. Jeżeli w naszym zaznaczonym zakresie znajdowały się puste wiersze, Calc usunie je z zakresu. Trzeba go zmodyfikować (Dane → Określ zakres, zaznaczyć, zmienić adresy, Modyfikuj).
      5. Aby w skopiowanej bazie zostały uwzględnione zmiany, należy umieścić kursor gdzieś w obrębie zakresu i wybrać z menu Dane → Odśwież zakres.

      • Mariusz napisał(a):

        Wielkie dzięki za pomoc w tym temacie 🙂
        Trochę się w tej sktóconej instrukcji pogubiłem, więc poczekam na jej pełną wersję 🙂
        Myślę, że to całkiem ciekawy temat na kolejny artykuł.
        Pozdrawiam

      • Natalia napisał(a):

        Trochę stary temat, ale mam pytanie z podobnej beczki. Posłużę się zdjęciami Pana Mariusza. Chciałabym wartości dotyczące wszystkich „S” zsumować. Byłoby to np. „S” i w kolumnie obok zsumowana kwota „44” (zgodnie z przykładem ze zdjęcia P.Mariusza). Pewnie to jakaś prosta formuła, ale dawno nie miałam do czynienia z tym 🙁

  • Artur napisał(a):

    Witam.

    Super, szukałem rozwiązania problemu i ZNALAZŁEM 🙂
    Bardzo dziękuje, fajnie że są ludzie którym się chce pisać takie poradniki.

    Pozdrawiam

  • Krzysiek napisał(a):

    Witam,

    A czy Funkcja SUMA.WARUNKÓW może też wyszukiwać komórki zaczynające się od określonego ciągu znaków, np.
    SUMA.WARUNKÓW(C2:C11;A2:A11;”=styczeń”;B2:B11;”=j*”) – w tym przypadku chodziło mi o szukanie po ciągach zaczynających się na j, ale tak nie działa.

    Pozdrawiam,
    Krzysiek

    • Mirosław Zalewski napisał(a):

      Tak, ta funkcja to potrafi.

      Najpierw należy włączyć obsługę wyrażeń regularnych w formułach: Narzędzia → Opcje → LibreOffice Calc → Oblicz → „Włącz wyrażenia regularne w formułach”.
      Następnie należy wprowadzić poprawne wyrażenie regularne. W tym wypadku nie działa, gdyż j* (jot, gwiazdka) oznacza: litera jot, zero lub więcej razy. Zamiast tego należy wpisać j.* (jot, kropka, gwiazdka).

      Na blogu są artykuły: wprowadzający w wyrażenia regularne oraz pokazujący przykłady ich zastosowania, do przeczytania których zachęcam.

  • Krzysiek napisał(a):

    Zauważyłem też że funkcja suma.warunków nie radzi sobie z nawiasami, tj. daje jako kryterium np. Koszulki (białe) i ze względu na nawias funkcja przestaje liczyć.

    • Mirosław Zalewski napisał(a):

      Radzi sobie, tylko nawias jest znakiem specjalnym w wyrażeniu regularnym. Trzeba albo wyłączyć obsługę wyrażeń regularnych w formułach w opcjach programu, albo poprzedzić wszystkie znaki specjalne odwróconymi ukośnikami: „Koszulki \(białe\)”.

  • Jurek napisał(a):

    Witam,
    Mam taki problem:mam 25 arkuszy, z czego wykorzystywanych będzie różna ilość (zależnie od ilości dzieci w danym roku). W komórce A1 każdego arkusza jest imię i nazwisko dziecka, ale kilka ostatnich arkuszy jest pustych ( bo w przyszłym roku może być więcej dzieci).

    Chodzi o to, żeby w arkuszu podsumowującym zsumować tylko te komórki (np. B16) wszystkich arkuszy, gdzie w komórce A1 jest nazwisko dziecka.
    Pewnie mógłbym na piechotę dodać wszystkie 25 arkuszy i uzyskałbym wynik, ale czy można inaczej?

    • Mirosław Zalewski napisał(a):

      Można zsumować zakres arkuszy, np.: SUMA(Arkusz1.B16:Arkusz25.B16). W tym konkretnym przypadku nie widzę potrzeby sprawdzania zawartości komórki A1 w danym arkuszu — przecież arkusze nieużywane będą miały w tym miejscu pustą wartość, która zostanie zignorowana podczas obliczeń. Nie wpłynie ona na wartość końcową.

      Inna rzecz, że zakresów arkuszy nie można używać w formułach macierzowych.

      Poza tym nie mogę oprzeć się wrażeniu, że przetrzymywanie informacji o każdym dziecku w osobnym arkuszu to proszenie się o kłopoty. Dlaczego nie zrobić arkusza „baza”, w którym w jednej tabeli będą przechowywane wszystkie informacje o wszystkich dzieciach? Załóżmy, że są to oceny szkolne — nawet jeżeli każde dziecko będzie miało łącznie 1000 ocen (mało prawdopodobne), to cała tabela będzie liczyła maksymalnie 25 000 wierszy. To nie jest aż tak dużo, a wykonywanie obliczeń będzie o wiele prostsze. Jeżeli oprócz informacji globalnych (dla wszystkich dzieci na raz) chcemy mieć pewne informacje również dla każdego dziecka z osobna, to możemy to zrobić przy pomocy odpowiedniego zestawu formuł/filtrów/tabel przestawnych.
      Zaś najlepiej by było wykorzystać bazę danych programu Base zamiast arkusza i w tym pierwszym zrobić zestaw odpowiednich raportów.

      • Jurek napisał(a):

        To są dzieci przedszkolne, diagnoza prowadzona jest tylko dwa razy w roku, nie jest to wszystko skomplikowane. Chciałbym już zostać przy tych arkuszach, bo w zasadzie prawie wszystko już jest na ukończeniu, żona sprawnie się tym posługuje, ale chcielibyśmy, aby inne przedszkolanki – koleżanki mogły też korzystać z tego dokumentu nie znając zasad jego funkcjonowania.
        Jeśli chodzi o tę formułę, to wyniki poszczególnych dzieci są dobrze odzwierciedlone w arkuszu zbiorczym, chodzi mi tylko o to, żeby zliczyć maksymalną liczbę punktów za dane zadanie która znajduje się w komórce np.B16 i widnieje na wszystkich 25 arkuszach, a dzieci jest w tym roku 17 i 17 komórek A1 jest wypełnionych, a reszta jest pusta.
        Mam nadzieję, że dobrze wytłumaczyłem :).

        • Mirosław Zalewski napisał(a):

          Jeżeli chcemy wiedzieć, które dziecko otrzymało najwięcej punktów, to trzeba wykorzystać funkcję MAKS — argument taki sam jak poprzednio.

          Nie rozumiem, dlaczego mówimy o zawartości komórki A1 w danym arkuszu jako kryterium uwzględniania w obliczeniach innej komórki z tego arkusza. Czy w tych ostatnich ośmiu arkuszach, gdzie A1 jest pusta, B16 ma jakąś zawartość? Przecież to jest dana, która nie niesie ze sobą żadnej informacji. Jej występowanie świadczy o błędzie lub pomyłce. Osobiście uważam, że zamiast obchodzić ten problem, należy go rozwiązać u źródła.

          Te komórki w ostatnich arkuszach powinny być puste. Wtedy można w obliczeniu ująć wszystkie arkusze jako jeden zakres — LibreOffice pominie puste wartości i zwróci poprawny wynik. W jednym roku uwzględni 17 arkuszy, w innym — 23.

          I wprawdzie obliczysz maksymalną liczbę punktów za wybrane zadanie, ale już nie dowiesz się, które z dzieci uzyskało najlepszy wynik. Bo funkcje potrzebne w tym wypadku, WYSZUKAJ oraz PODAJ.POZYCJĘ, nie potrafią pracować na zakresach obejmujących kilka arkuszy. Nie jesteś także w stanie wykonywać obliczeń warunkowo (np. średnia dla dziewczynek i dla chłopców), czego zresztą dotyczyło Twoje pierwotne pytanie — nie można wprowadzić formuły macierzowej obejmującej kilka arkuszy, a funkcje LICZ.JEŻELI i SUMA.JEŻELI nie działają na takich zakresach.

          Takie ograniczenia będziesz napotykał na każdym kroku. Można je obejść przy odpowiedniej dozie samozaparcia (np. pisząc makra), ale wszystkie wynikają z takiej a nie innej struktury przechowywania danych. Dlatego sądzę, że zmiana tej struktury jest tutaj najlepszym rozwiązaniem (pomijając, czy będzie to Base, czy nadal Calc).

          • Jurek napisał(a):

            Dziękuję za wyczerpujące wyjaśnienia. Chyba pomyślę nad zmianą struktury dokumentu zgodnie z Twoimi radami.

  • Sebek napisał(a):

    Witam
    Chciałem zastosować do liczenia stanów mag formułę j/n:

    =SUMA.ILOCZYNÓW((Operacje!$C$5:$C$5000=$J$1)*(Operacje!$D$5:$D$5000=J15)*(Operacje!$E$5:$E$5000))-SUMA.ILOCZYNÓW((Operacje!$H$5:$H$5000=$J$1)*(Operacje!$I$5:$I$5000=J15)*(Operacje!$J$5:$J$5000))

    oraz macierzową j/n:

    =SUMA((Operacje!$C$5:$C$5000=$B$1)*(Operacje!$D$5:$D$5000=B3)*Operacje!$E$5:$E$5000)-SUMA((Operacje!$H$5:$H$5000=$B$1)*(Operacje!$I$5:$I$5000=B3)*Operacje!$J$5:$J$5000)

    przy większej ilości wierszy excel zaczyna się dławić i pokazywać procent postępu który wraz z przybywaniem pozycji zwalnia…

  • Bartek napisał(a):

    Witam,
    Mam taki problem, chciałbym skorzystać z funkcji suma.warunków, jednak nie wiem do końca jak to zjeść. Mianowicie mam w komórce datę np. 2009-01-01 i chciałbym aby warunkiem było samo wyrażenie „2009-01” jednak nie wiem jak tego dokonać (funkcja widzi tylko pełną datę, a takiej nie chcę). Co dokładnie trzeba zmodyfikować w kryterium?

  • ania napisał(a):

    Witam,
    Mam ogromną prośbę o pomoc. Potrzebuję napisać formułę, a przyznam, że nie bardzo wiem jak się za to zabrać, która policzy oraz przyporządkuje odpowiedni przedział. Dokładniej mam przykładowo cyfrę 80 oraz przedziały np. do 40, 40-90, 90-100 w każdym przedziale jest stawka np. 30. Chodzi o to, żeby formuła rozpoznała sama dany przedział (w tym wypadku 90-100) i przemnożyła podaną liczbę tu 80 przez stawkę z przedziału np. 30.
    Mam nadzieję, że wszystko zrozumiale napisałam. Bardzo proszę o pomoc.

  • Marcin napisał(a):

    Witam,

    Świetny artykuł. W pracy na co dzień posługuję się OpenOffice i w celu zautomatyzowania sobie pewnych zadań tworzę czasem pewne arkusze. Teraz na przykład robię do inwentaryzacji, by zamiast zakładać odpowiednie filtry i liczyć po kolumnach ręcznie – otrzymywać wszystko w ciągu bardzo krótkiego czasu, po podaniu odpowiednich danych.
    Będę wdzięczny za pomoc w nurtujących kwestiach:

    1) Niestety w OO nie działa SUMA.WARUNKÓW() – muszę to zastępować odpowiednią sumą wyników SUMA.JEŻELI()?

    2) Chcę dokonać zliczenia wartości (kolumna G) dla wierszy które w opisie (kolumna B) posiadają ciąg znaków „19”. Szukałem nieco i utworzyłem taką formułę:
    =SUMA.JEŻELI($DANE.$B$2:$B$20000;”=”*19*””;$DANE.$G$2:$G$20000)

    Jednak wynik jest błędny (#ARG!). Czy jest możliwym utworzenie takiego zapytania?
    Dodam, że w opcjach OpenOffice Calc mam włączoną obsługę wyrażeń regularnych.

  • Tomasz napisał(a):

    Witam,

    Czy może ktoś podpowie mi jaką formułę trzeba użyć, przykład: (dodam iż pojawia mi się odwołanie cykliczne)

    Dane zawarte w jednej kolumnie np A
    1. A1= wartość zaciągnięta z innego skoroszytu która jest wynikiem (dziel/mnoż/dodaw/itd.) wynik np. 50
    2. A2= iloczyn komórek zaciągnięty z innego skoroszytu – wynik np. 100
    3. A3= iloczyn komórek zaciągnięty z innego skoroszytu – wynik np. 200
    4. A4= różnica komórek (A6;A7) (tu pojawia się odw. cykliczne)
    5. A5= wartość wpisana z tzw. „palca” – np. 300
    6. A6= suma komórek (A1;A5)
    7. A7= wartość zaciągnięta z innego skoroszytu (wpisywana z „palca”) np. 400

    pozdr.

  • Jakub napisał(a):

    Witam
    Mam takie pytanko jak dodać za funkcją w tej samej kratce tekst np: szt, zł, EUR?
    Nie mogę znaleźć odp. w necie.
    Pozdrawiam Jakub

    • Patrycja napisał(a):

      Witam,

      Bezpośrednio za funkcją piszesz: &” jednostka”.
      Np.: =SUMA(C7:C9)&” PLN”

      pozdrawiam,
      Patrycja

  • Jakub napisał(a):

    Łał ktoś odpisał.
    Dziękuję Pani Patrycjo.
    Pozdrawiam serdecznie Jakub

  • Paweł napisał(a):

    Pytanie

    Mam bazę z kilkoma kolumnami np nazwa klienta, miejscowość, lista zamawianych produktów, data zam i najważniejsza kolumna;wartość zamówienia

    Każdy klient zamawiał różne produkty, więc przy każdym kleincie ma długą listę produktów i w nastepnej kolumnie wartości jaką satnowi każdy produkt.

    Jak zastosować sumowanie kolumny wartość zamówienia, tak aby po odfiltrowaniu konkretnego klienta pokazywała się suma wszystkich jego zamówien

    zastosowałem funkcję sumowania, i to jedynie pokazuje sumę zamówień wszystkich klientów a cel jest taki abym mógł odfiltrowywać każdego jak chce, po nazwie dacie itp i żeby pokazał się tylko wartość dot. pozycji odfiltrowanych w innych kolumnach

    Z góry dziękuje za pomoc, aj jestem dość zielony w excelu, więc sorki za tak prozaiczne pytanie

  • tadzio1 napisał(a):

    Witam,
    poszukuję możliwości identycznych jakie daje suma.jeżeli() ale dla pól tekstowych. Chciałbym w wyniku otrzymać „zsumowane” czyli połączone teksty.
    Ktoś ma pomysł ?
    Pozdrawiam
    T.

    • Patrycja napisał(a):

      =JEŻELI(((C22=$C$21)*ORAZ(D22=$D$21)),C22&D22,””)

      w wierszu 21 jest szukany tekst (warunek), a w wierszu 22 (i odpowiednio kolejnych) jest zakres, który jest przeszukiwany.

      pozdrawiam,
      Patrycja

      • tadzio1 napisał(a):

        Dziękuje za wskazówkę ale prawdopodobnie niedokładnie opisałem mój problem.
        Spróbuje lepiej : na arkuszu mam tabelę np. kolumna A to numer klienta, B to nr jego faktury, C to kwota tej faktury. Na innym arkuszu chce uzyskać informacje zbiorcze czyli skompresowaną tabelkę:
        A – nr klienta
        B – nr jego faktur np. FV/123/12, FV/243/12, FV/545/12 (i tu mam problem)
        C – wartość jego faktur czyli klasyczne suma.jeżeli – tu nie ma problemu

        Napisałem funkcję w VBA ale tabela ma 6 tys. pozycji zbiera sie to w 1500 zbiorczych pozycji i wszystko trwa jakieś kilkanaście minut. Mam wrażenie, że excel zrobiłby to dużo szybciej stąd moje poszukiwania.

        Pozdrawiam
        T.

  • Darek napisał(a):

    Witam. Opanowałem sumę warunków ale nie mogę zrealizować sumy chcąc użyć jako jednego z warunków fragmentu daty np. >sty17 sty 2014<. Chciałem obliczyć sumę wszytkich zdarzeń dotyczących stycznia, lutego itd. ale nie udaje mi się. Proszę o pomoc.

  • Darek napisał(a):

    Nastąpiła pomyłka literowa – raz jeszcze: Witam. Opanowałem sumę warunków ale nie mogę zrealizować sumy chcąc użyć jako jednego z warunków fragmentu daty np. >sty<. Używam w jednej z kolumn formatu daty 17 sty 2014<. Chciałem obliczyć sumę wszystkich zdarzeń dotyczących stycznia, lutego itd. ale nie udaje mi się. Proszę o pomoc.

    • Patrycja napisał(a):

      Jako warunek proszę wpisać wynik funkcji miesiąc(adres_komórki_z_datą)=1 (1 jeśli interesuje Pana styczeń, 2 dla lutego, itd)

      • Darek napisał(a):

        Dziękuję ale nie bardzo rozumiem jaka powinna być składnia „=????”. Co wpisać w miejsce ?????

        • Patrycja napisał(a):

          Chyba najprościej dodać kolumnę z formułą MIESIĄC, która z danej daty w dowolnym formacie wyciągnie miesiąc i zwróci go w postaci liczby. W formule na sumę warunków jako trzeci lub czwarty parametr wpisać „=1” dla stycznia lub kolejne liczby dla kolejnych miesięcy. Uwaga na przypadek jeśli w zbiorze są dane z różnych lat, bo w ten sposób działamy na wszystkich znalezionych ‚styczniach’.

  • piotr napisał(a):

    Witam chciałbym obliczyć kwotę podatku 2% ale dopiero kiedy w oknie suma kwota będzie większa od 1000 zł. proszę o pomoc z góry dziękuje

    • Patrycja napisał(a):

      Witam, tu wystarczy samo ‚jeżeli’: =JEŻELI(B2>1000,B2*0.02,”kwota poniżej 1tys”), gdzie B2 to adres komórki z kwotą. Pozdrawiam

      • piot napisał(a):

        Dziękuję za odpowiedź ale po wpisaniu pojawia sie w komórce bład 501 a formuła zmienia się na taką =JEŻELI(E31>1E+034*0.02′,’) zupełnie nie wiem o co chodzi

  • Artur napisał(a):

    Mam problem z funkcją ;/ Pojawia się:”Wprowadzono następującą liczbę argumentów dla tej funkcji: za dużo.”

    To ta funkcja: =JEŻELI(ORAZ(C19>0;C20>0);G22(C190);G23(C19<0;C200;C20<0);G25)

    Pomoże ktoś? 🙂

  • Artur napisał(a):

    =JEŻELI(ORAZ(C19>0;C20>0);G22(C190);G23(C19<0;C200;C20<0);G25)

  • piotr napisał(a):

    Witam,
    Prowadzę miesieczne rozliczenia i np: mam kolumne styczeń w ktorej zapisuje wydatki oraz przychody, wydatki zapisuje z minusem wiec jest -100 itd. a reszte normalnie np. 10 itd. Chciałbym zrobic dwie sumy tylko liczb ujemnych i tylko dodatnich, mysle ze to z funkcji licz jezeli? tylko jak to zrobic dla mnie to trudna sprawa. Prosze o pomoc

  • piotr napisał(a):

    ok juz wiem. moze sie komus przyda:
    =SUMA.JEŻELI(A1:A10;”>0″)
    =SUMA.JEŻELI(A1:A10;”<0")

  • kasia napisał(a):

    Bardzo dziękuję za artykuł. Formuły sum pomogły mi wyprowadzic dane z tabeli, z którymi męczyłam się od dłuzszego czasu, próbując i łącząc …nieodpowiednie.
    Dziękuję.

  • Andrzej napisał(a):

    Witam
    Bardzo dobry artykuł 🙂

    mam natomiast prośbę o poradę.
    W tabeli mam wpisane kilka danych przeważnie są to dokładnie linki, chciałbym zliczyć te linki ile jest w danym wieruszu pustych pozycji a ile wpisanych i tutaj mam problem, ponieważ funcja =suma.jeżeli nie chce mi podliczyć tego.
    Jak mam wpisać np strona.12345.coś tam gdzie zmieniają się np cyfry.
    Do wartości jako stałe wpisuje „strona” i tutaj się to zaczyna nie zgadzać, mianowicie nie podlicza mi tego ponieważ nie mam dalszych danych. Jak bym miał wpisać niekompletny ciąg w tej funkcji?
    Dziękuję za pomoc

  • Dama Karo napisał(a):

    Mam problem… Jestem humanistką i opracowuję badania z ankiety. W jednej kolumnie mam odpowiedzi powiedzmy” tak, nie, nie wiem, a w następnej np PWD POIT. Pytanie brzmi – jak mam przemówić do Exella, żeby powiedział mi ile osób z PWD opowiedziało „nie”. Męczę się i nic nie kapuję… :/

    • Tomek napisał(a):

      Zrób pivota:
      (wstaw / insert -pivot)
      zaznacz tabelkę kliknij, gdzie ma być ta tabelka.
      Wszystkie kolumny w tabeli muszą mieć nagłówki!
      „wrzuć” do wierszy (lewe okienko po prawej na dole:) kolumnę z tak/nie i PWD a do wartości (prawe okienko po prawej na dole:) kolumnę z tak/nie.
      w oknie pwd pokaże ci ile razy tak nie i niewiem…

  • Adam napisał(a):

    Witam!!
    Potrzebuję wyszukać w excelu wszystkich 18 latków zarabiających w przedziale 0-999 jak to zrobić?? I analogicznie 19, 20 itd. oraz zakresy pensji też 1000-1999 itd.

    • Tomek napisał(a):

      =COUNTIFS(A2:A15;18;B2:B15;”>0″;B2:B15;”<=999")
      A2:A15 zakres wiek
      B2:B15 zakres kasa
      COUNTIFS to po polsku LICZ.WARUNKI

  • Krzysiek napisał(a):

    Witam , potrzebuję zliczyć z kolumny B poszczególne komórki , które zawierają pewien warunek, a mianowicie dane nazwisko np:

    w kolumnie A mam komórki zawierające nazwisko : IKSIŃSKI,BEKSA,KOWALSKI
    w kolumnie B mam komórki : a-abc ; b-abc; c-abc
    w kolumnie C mam kwoty dotyczące kolumny B a-abc ; b-abc,c-abc : czyli 100,101,102

    Potrzebuję zsumować te kwoty z kolumny C na każde nazwisko oddzielnie.

    Zastosowałem :
    =SUMA.WARUNKÓW(c2:c9;B2:B9;”a-abc”;A2:A90;”IKSIŃSKI”) lecz mam tylko jeden warunek i nie wiem jak dołożyć kolejne czyli : =SUMA.WARUNKÓW(c2:c90;B2:B90;”b-abc”;A2:A90;”BEKSA”) i następny =SUMA.WARUNKÓW(c2:c90;B2:B90;”c-abc”;A2:A90;”KOWALSKI”)

  • Krzysiek napisał(a):

    Małe sprostowanie do powyższego wpisu oczywiście potrzebuję to co napisałem potem nie na początku czyli :
    zsumować te kwoty z kolumny C na każde nazwisko oddzielnie.

  • Rafał napisał(a):

    Witam, próbuję zsumować wartości z kolumny B, jeśli w kolumnie A znajduje się string ‚jan’ lub string ‚adam’.

    Suma.Jeżeli odpada bo przyjmuje tylko jeden warunek. Próbowałem użyć funkcji Suma.Warunków w takiej postaci

    Suma.Warunków(B:B;A:A;”jan”;A:A;”adam”)

    Wynikiem jest zero. Wydaje mi się, że ta funkcja bierze pod uwagę koniunkcję obu warunków dlatego nie działa tak jakbym tego chiał. Kombinowałem też z funkcją LUB, jednak nie przyniosło to oczekiwanych rezultatów, więc albo nie można jej do tego celu zastosować, albo zrobiłem to nieudolnie.
    Jest może jakiś sposób żeby osiągnąć mój cel?

    • Rafał napisał(a):

      Już wiem jak można to zrobić. Trzeba skorzystać z tablicy (nie wiedziałem wcześniej, że mam taką możliwość). Wynikiem SUMA.JEŻELI są 2 różne wyniki (podgląd na F9), dlatego potrzebna jest jeszcze funkcja SUMA.ILOCZYNÓW.

      SUMA.ILOCZYNÓW(SUMA.JEŻELI(A:A;{„jan”\”adam”};B:B))

  • Maciej napisał(a):

    Dzień dobry,

    Prosiłbym o pomoc z ustaleniem treści funkcji.

    Słownie opisałbym ją tak:

    Jeżeli w zakresie A2 do A5 jest kwiecień i w zakresie B2 do B5 jest Piotr to policz ile TAK jest w zakresie C2 do C5

    Pozdrawiam

  • Jarek napisał(a):

    Witam
    powiedzmy mam komórkę A1 i w niej liczę 2
    a w komórce B1 tekst „osób”

    jaką formułę napisać by w zależności czy w komórce A1 jest liczba parzysta to zmieniało tekst w komórce B1 na słowo „osoby”

    a jeśli w w komórce A1 jest liczba nieparzysta to zmieniało tekst w komórce B1 na słowo „osób”

  • tymon napisał(a):

    Witam,mam prośbę o pomoc w utworzeniu formuły sumującej w komorce C2=SUMA(A1*A2+B1*B2+C1) tak aby wartość z komórki C1 była dodawana tylko jeśli będzie ona wartością ujemną.Próbowałem korzystać z funkcji Suma.Jeżeli ,lecz nie potrafię tego rozgryźć.Pozdrawiam

  • Krystian napisał(a):

    Po prostu – DZIĘKUJĘ

  • Mariusz napisał(a):

    JAK LICZBA NP.43 STWIERDZIĆ CZY JEST MNIEJSZA OD 100 I POTEM DODAĆ 100 SZYBKO PROSZĘ O ODPOWIEDŹ.BO MAM Z TEGO JUTRO KLASÓWKĘ

  • TomkoB napisał(a):

    Kto chce zarobic w necie kilkanascie dolarow dziennie? Sposob jest prosty i dziala, wpiszcie sobie w google: jak kosic kase na adfly

  • Piotrek napisał(a):

    Witam.
    Mam taki problem – szukam sposobu aby arkusz dodał wszystkie liczby naturalne z zakresu od 0 do liczby podanej w komórce. czyli na przykład podaję w A1 liczbę 4 więc w komórce B1 pojawia się 10 (1+2+3+4). Jak to zrobić?

  • Marcin napisał(a):

    Bardzo proszę o pomoc bo nie wiem jak dodać w tej formula dodatkowy zakres działania.
    =JEŻELI(A1=””;0;LICZ.JEŻELI(A:A;A1)>1
    Chcę mieć możliwość sprawdzenia dwóch lub kilku kolumn na raz. I nie wiem jak rozszerzyć zakres działania.
    Jak zmienię na =JEŻELI(A1=””;0;LICZ.JEŻELI(A:D;A1)>1
    to sprawdza kolumny od A do D. A ja np. chce mieć możliwość sprawdzenia A i D i nic pomiędzy.

  • Kinga napisał(a):

    Witam

    Chce aby w formule np =SUMA.JEŻELI(B2:B11;”=jedzenie”;C2:C11) jedzenie zmieniało się zamoczynnie po przeciągnięciu komórki

  • Tomasz napisał(a):

    Hejj. Ratujcie proszę. Mam arkusz z danymi w którym kolumny stanowią poszczególne dni miesiąca. W wierszach znajduje się planowana ilość produktów. Poszukuję formuły która pozwoli mi zsumować dane z poszczególnych wierszy ale na dzień bieżący żeby nie musieć tego sumować codziennie ręcznie. Chciałbym aby np. 19 danego miesiąca arkusz sumował mi wartości z dni od 1 do 19 a np. 25 dnia sumował wartości od 1 do 25. Nie mam innej możliwości jak daty w kolumnach więc funkcja bd.suma odpada.

    • Justyna napisał(a):

      Witaj Tomaszu,
      Jeżeli w kolumnie „A” masz nazwy produktów a w wierszu „1” masz dni miesiąca to może spróbuj następującej formuły:
      =SUMA($B2:B2)
      i skopiuj poziomo aż do kolumny zawierającej ostatni dzień miesiąca.

  • Justyna napisał(a):

    Witam,
    Chciałam zastosować w moich obliczeniach funkcję suma.jeżeli, jednak zamiast kryterium w postaci „wartość” chciałam zastosować =komórka czyli np:
    =SUMA.JEŻELI(B2:B11;”=A1″;C2:C11)
    gdzie w A1 jest już jakaś formuła.
    Niestety nie działa. Próbowałam na różne sposoby: z „”; bez „”; sam adres komórki; =adres komórki, zamieniałam wartość komórki na tekst i nadal nic.
    Czy ktoś spotkał się z podobnym problemem?
    Pozdrawiam

  • Waleria napisał(a):

    Witam,
    Mam 3 kolumny i tak pierwsza z imieniem i nazwiskiem zawodnika,druga – województwo; trzecia – licencja ogólnopolska lub regionalna.
    Potrzebuję policzyć ile licencji regionalnych jest w danym województwie, a ile ogólnopolskich.

    Z góry dziękuję za pomoc 🙂