Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

sumowanie w pętli pod warunkiem

aurora23 07 Cze 2013 09:16 2106 8
  • #1 07 Cze 2013 09:16
    aurora23
    Poziom 10  

    Witam, w Arkuszu1 mam dwie kolumny : "kwota" i "nazwa".
    Próbuję napisać pętlę, która będzie w kolumnie "nazwa" porównywać wartości. Mianowicie po znalezieniu wszystkich wystąpień danej nazwy - zsumuje kwoty jej odpowiadające i w Arkuszu2 zwróci w komórce A1 nazwę, a w B1 sumę.

    Ogólnie to fajnie, żeby to dało się powyższą funkcje uogólnić dla innych arkuszy.
    Będę wdzięczna za wszelką pomoc :)

    0 8
  • #2 07 Cze 2013 09:53
    cbrman
    Poziom 27  

    A po co wywarzać otwarte drzwi skoro Excel ma wbudowane formuły spełniające to zadanie:
    - suma.jeżeli
    - suma.warunków (dla Excela >=2007)
    - suma.iloczynów
    - bd.suma
    - suma jako formuła tablicowa

    Chyba, że dla samego poćwiczenia VBA, to może być coś takiego:

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #3 07 Cze 2013 10:12
    aurora23
    Poziom 10  

    cbrman napisał:
    A po co wywarzać otwarte drzwi skoro Excel ma wbudowane formuły spełniające to zadanie:
    - suma.jeżeli
    - suma.warunków (dla Excela >=2007)
    - suma.iloczynów
    - bd.suma
    - suma jako formuła tablicowa


    Okej, ale np. dla formuły suma.jeżeli będę musiała za każdym razem wpisywać nazwę, którą chcę znaleźć w kolumnie, a u mnie jest to 36cyfrowy numer konta - bez sensu. Chodzi mi o automatyzację większą :)

    Dzięki za pomoc :)

    0
  • #4 07 Cze 2013 10:49
    cbrman
    Poziom 27  

    aurora23 napisał:
    Chodzi mi o automatyzację większą :)


    Może tabela przestawna albo sumy częściowe?
    Najlepiej byłoby gdybyś załączyła plik z fragmentem danych (dane mogą być wymyślone byleby ich układ był zgodny z Twoim) oraz konkretny opis jak mają one wyglądać na wyjściu to można coś konkretnego doradzić.

    0
  • Pomocny post
    #5 07 Cze 2013 11:08
    Maciej Gonet
    Poziom 32  

    Dzień dobry,
    To jest typowe zadanie do konsolidacji. Było to już wiele razy na forum, można też przeczytać w pomocy Excela. Deklaruje Pani obszar do konsolidacji, miejsce na wynik (może być w tym samym arkuszu, albo w innym) i dostaje gotowe podsumowanie. Tyle, że jest to jednorazowe, po zmianie danych trzeba wykonać ponownie, ewentualnie skorzystać z VBA i podpiąć konsolidację pod obsługę zdarzenia, wtedy będzie powtarzana automatycznie np. po otwarciu arkusza.

    0
  • #6 10 Cze 2013 08:59
    aurora23
    Poziom 10  

    Załączam przykładowy arkusz.
    Tak jak napisałam wcześniej - interesuje mnie, aby kod/makro działał(o) w ten sposób, że znajduje wszystkie konta o tej samej nazwie, następnie przepisuje do pierwszej kolumny nowego arkusza pojedyncze konta (już bez powtórzeń), a w drugiej kolumnie znajdują się kwoty będące sumami kwot z arkusza 1, które wystąpiły pod tą samą nazwą konta.

    Pozdrawiam

    0
  • Pomocny post
    #7 10 Cze 2013 10:36
    cbrman
    Poziom 27  

    Przetestuj poniższe makro mając otwarty arkusz z tabelą wejściową

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • Pomocny post
    #8 10 Cze 2013 10:39
    Maciej Gonet
    Poziom 32  

    Dzień dobry,
    Tak jak napisałem najprościej, moim zdaniem, zrobić to przez konsolidację. Nie pisze Pani tylko, której wersji Excela Pani używa, ale konsolidacja jest dostępna we wszystkich wersjach, tylko w różnych miejscach. W Excelu 2010 na karcie Dane, grupa Narzędzia danych, polecenie Konsoliduj. Dalej jest już we wszystkich wersjach podobnie. Przed rozpoczęciem procedury należy umieścić kursor (komórkę aktywną) w lewym górnym rogu miejsca, gdzie ma być wynik. Po wywołaniu polecenia wyświetlane jest okienko, w którym należy kolejno: w polu Funkcja pozostawić Suma (domyślne), w polu odwołanie zaznaczyć obszar do konsolidacji, jego lewa kolumna powinna zawierać etykiety (u Pani są to numery kont), a prawa (może być więcej kolumn) dane liczbowe, które mają być podsumowane. Jeśli takich obszarów jest więcej należy je zaznaczać kolejno, naciskając za każdym razem Dodaj. Po ostatnim obszarze naciskać Dodaj nie trzeba, tylko później OK. Jeśli jest kilka obszarów muszą mieć taką samą strukturę (tzn. tyle samo kolumn i etykiety w pierwszej kolumnie). U Pani jest w tej chwili tylko jeden obszar, więc wystarczy go zaznaczyć. Dalej w polu Użyj etykiet w: zaznaczyć Lewa kolumna i na koniec nacisnąć OK. Wynik będzie w postaci stałych, a nie odwołań. Dla nowych danych procedurę należy powtórzyć w analogiczny sposób. Dopasować szerokość komórek i ewentualne sformatować i wstawić nagłówki kolumn należy ręcznie. Pani przykład załączam.

    0
  • #9 10 Cze 2013 13:47
    aurora23
    Poziom 10  

    Obie metody działają rewelacyjnie.

    Dziękuję serdecznie!

    0