Excel - sumowanie odpowiednich komórek





ThomasGP - 01 Kwi 2009 12:40
Witam,

wybaczcie ze od razu z grubej rury Was atakuje problemem ale mam jak to mowia noż na gardle

Chodzi o to, zeby w excelu majac podane komorki:
ID numer   nr_ewidencyjny     kwota1    kwota2
2 764   1   3 143,87   0,00
3 311   1   0,00   3 242,49
4 749   1   4 757,28   0,00
6 343   1   5 261,07   0,00
6 762   1   3 304,39   0,00
7 182   1   3 614,87   142,11
7 413   1   4 224,21   0,00
2 759   3   4 483,69   0,00
3 305   3   3 041,58   0,00
4 743   3   2 976,76   0,00
6 338   3   5 636,73   0,00
6 756   3   3 934,66   0,00
7 176   3   4 148,04   169,09
7 407   3   4 697,72   948,80
2 761   5   3 251,25   0,00
3 307   5   1 978,29   2 027,70
4 745   5   4 191,82   230,97
6 340   5   5 942,45   273,46
6 758   5   3 354,93   0,00
7 178   5   3 531,87   0,00
7 409   5   5 016,87   0,00
1 861   6   3 039,72   2 825,74
2 403   6   6 190,79   129,07
2 758   6   5 478,85   0,00
3 304   6   5 345,64   0,00
3 817   6   3 925,75   0,00
4 014   6   4 135,14   0,00
4 742   6   4 095,78   0,00
6 337   6   6 472,54   0,00
6 755   6   3 440,08   2 360,15
7 175   6   3 615,26   2 723,25
7 406   6   5 771,35   0,00
8 578   6   4 877,39   0,00

teraz chcilabym bardzo, zeby formula obliczyla mi dla kazdego nr_ewidencyjnego sume wszystkich kwot1 i kwot2.
I zeby wyswietlilo je mniejwiecej tak:

numer_ewidencyjny suma_kwoty1 suma_kwoty2
1   24 305,69   3 384,60
3   28 919,18   1 117,89
5   27 267,48   2 532,13
6   56 388,29   8 038,21

Zrobilem cos mniejwiecej o co mi chodzilo za pomoca Sumy częściowej, ale wyświetla mi poza sumami wszystkie dane z przed obliczeń. Jest tam taki "-" i klikajac na niego znikaja niepotrzebne pola ale przy kopiowaniu calosci kopiuja sie i one.

Prosilbym o jakakolwiek pomoc
dzieki i pozdrawiam

Aha nie prosilbym o to gdybym mial nieduzo danych bo wystrczylo by przeklikac odpowiednie wieksze i skopiowac, tylko ze mam tych danych bardzo duzo ok. 8 tys wierszy w arkuszu (arkusze sa 3)





marek003 - 01 Kwi 2009 13:06
Suma.jeżeli(zakres,kryteria, sumowany zakres)

Czyli dla 100 wierszy i numeru ewidencyjnego 1 w komórkę g1 wpisz:
=suma.jeżeli(c1:c100;1;d1:d100) a w h1=suma.jeżeli(c1:c100;1;e1:e100)

Dodano po 5 [minuty]:

numer_ewidencyjny suma_kwoty1 suma_kwoty2
1 24 305,69 3 384,60
3 28 919,18 1 117,89
5 27 267,48 2 532,13
6 56 388,29 8 038,21

Aby to ci wyświetliło jak chcesz to w :

f2 wpisz 1
F3 wpisz 3
F4 wpisz 5 itd

w G2 wpisz =suma.jeżeli($c$1:$c$10000;$F2;d$1:d$10000)
przeciągnij (skopiuj) raz w prawo i w dół.

Zakładam że pierwsza tabela jest w tym samym arkuszu i zaczyna się od a1

Masz przykład



ThomasGP - 01 Kwi 2009 13:55
ooo! Dzięki wielkie o coś właśnie takiego mi chodzilo

teraz moze jescze powiesze mi jak wyodrebnic z kilkutysiecy pol, te ktore sie powtarzaja.
Zeby wyznaczyc te numery ewidencyjne (1, 3, 5,6, ...)

pozdrawiam



marek003 - 01 Kwi 2009 15:10
Nie mam za dużo czasu a akurat do tego przydało by sie makro.
Wesz co a może zrób sumy częściowe. TZN

Zaznacz całą tabelę i
W menu dane wybierz sortuj , wciśnij ma wiersz nagłowka i w sortuj wg kolumny: nr ewidencyjny. daj Ok
Następnie
w menu dane wybierz sumy częściowe.
Dla każdej zmiany w: zaznacz numer ewidencyjny
Użyj funkcji wybierz suma
Dodaj sumę pośrednia: zaznacz kwota 1 i kwota2
wciśnij OK

Po lewej stronie (przy nazwie kolumny A) pojawią sie przyciski z numerkmi 1,2,3. wciśnij 2 i będziesz miał sumy wg numeru ewidencyjnego





ThomasGP - 02 Kwi 2009 07:11
Właśnie tak jak mówisz zrobiłem wcześniej, tylko że przy kopiowaniu tych wierszy i wklejeniu na innym arkuszu wklejają się te wszystkie ukryte wiersze (po naciśnieciu na 2 ukrywaja się).

Mógłbym kopiować same wiersze ale to w *** klikania

Bardziej podobał mi się Twój wcześniejszy pomysł, tylko nie wiem jak wybrać sobie do Twojej formuły wszystkie numery ewidencyjne bez powtórzeń, czyli tylko 1, 3, 5 i 6.
Mam takich numerów do 3040 także ręczne wybieranie to istna masakra

mimo co dzieki za pomoc bo i tak juz jestem duzo do przodu dzieki TObie.



adamas_nt - 02 Kwi 2009 08:35
Proponuję użyć sposobu z niedawno omawianego tematu filtrowania. W tej postaci zadziała w załączonym przez kol. marek003 przykładzie. Sub usun_dupl()
Worksheets("Arkusz1").Select
ile = Range("C1").End(xlDown).Row
Range("C1:C" & ile).AdvancedFilter _
Action:=xlFilterCopy, CopyToRange:=Columns("AA:AA"), Unique:=True
ile2 = Range("AA1").End(xlDown).Row
Range("AA2:AA" & ile2).Copy Range("I2:I" & ile2)
Range("AA1:AA" & ile2).ClearContents
End Sub

I to też się może przydać With Range("I2")
.Formula = "=SumIf(C:C,I$2,D:D)"
.AutoFill Destination:=Range("I2:I" & ile2 - 1), Type:=xlFillDefault
End With



marek003 - 02 Kwi 2009 09:41
Zrobiłem gotowe makro wykazujący numery ewidencyjne i dla nich sumy kwot.

Sub Sumy_kwot()

Range("I1:k50000").Clear ' Czyszczenie kolumny z numerami ewidencyjnymi
a = 0

ilewierszy = Sheets(1).Range("c1").End(xlDown).Row ' sprawdzenie ilosci wierszy w bazowej tabeli

  For Licznik = 1 To ilewierszy
   If WorksheetFunction.CountIf(Range("I1:I50000"), Cells(Licznik, 3)) = 0 Then
    a = a + 1
    Cells(a, 9) = Cells(Licznik, 3)
    Cells(a, 10) = WorksheetFunction.SumIf(Range("C1:c50000"), Cells(a, 9), Range("d1:d50000"))
    Cells(a, 11) = WorksheetFunction.SumIf(Range("C1:c50000"), Cells(a, 9), Range("e1:e50000"))

   End If
 Next

End Sub

Tu przykład w excelu (założenie główne dane z głównej tabeli mają być w tych samych kolumnach co w moim przykładzie - inaczej trzeba poprawić trochę makro - odwołania do poszczególnych kolumn w range i w cells).



ThomasGP - 02 Kwi 2009 12:03
Wielkie dzieki raport do GUS zrobiony!