Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Automaticke slouceni a soucet

Ahoj vsem,

mel bych na vas prosbu o radu. Dostal jsem zadani souctu v excelu. Mam14tis jmen ve sloupci A, ve sloupci B mam stejny pocet castek a potrebuji zalozit sloupec C, ktery mi bude scitat hodnoty sloupce B, ale.... Tady je hlavni problem. Sloupec A obsahuje jmena, ktera se mi opakuji, ale jsou rozhazena po ruznych radcich. Proto jsem si udelal filtr a seradil od A-Z coz mi jmena sloucila pod sebe. Ted bych potreboval sloupec C kde se prirazene radky k dannemu jmenu automaticky slouci a sectou prirazene hodnoty ke jmenu ve sloupci B. To vse bych samozrejme docilil manualne - sloucit bunky pripadajici k danemu jmenu ve sloupci C a do sloucene bunky dat napr. suma B1-B5. Tohle jde u par radku, ale ja jich mam 14tis. Lze nastavit nejaka automatizace/podminka jako, ze bude-li shodne jmeno v A slouci se pro nej prirazene radky sloupce C a v nich je danny soucet prirazenych hodnot radku sloupce B?

Moc vam dekuji

Předmět Autor Datum
pochopil jsem z toho, že potřebuješ ke každému jménu ve sloupci A součet všech částek ze sloupce B p…
TNT 03.09.2014 22:59
TNT
kdybys protřeboval pokročilejší sčítání částek přes více vstupních kritérií tak na toje funkce SUMIF…
TNT 03.09.2014 23:05
TNT
... a potrebuješ k tomu skutočne aj stĺpec C? Pretože to ide elegantne funkciou "Medzisúčty" na kar…
robert13 04.09.2014 08:05
robert13
iný spôsob, keby si tam chcel mať stĺpec C v ktorom má byť nárastové sčítavanie: (riadok 1 je záhlav…
robert13 04.09.2014 08:21
robert13
Ještě jednou ahoj všem, moc Vám děkuji za rady a abych to lépe vysvětlil, udělal jsem mustr té tabul…
amiCO 04.09.2014 09:41
amiCO
Vyzkoušel jsem všechny způsoby a jediný proveditelný je rada od @TNT, ale musím tam ještě nějak vlož…
amiCO 04.09.2014 10:08
amiCO
ak to môžeš robiť makrom tak tu je: Sub Sucty() PoslRiad = Range("N1").End(xlDown).Row Range("AE2:A…
robert13 04.09.2014 10:34
robert13
Jaaaj, tak tohle už je pro mě velká matematika :) Mohl bych tě poprosit to zkusit zapsat přímo do té…
amiCO 04.09.2014 10:42
amiCO
Ale pokiaľ takéto čosi v škole nepreberáte, tak asi to nebude spôsob, akým to od vás očakávajú... Pr… poslední
robert13 04.09.2014 10:50
robert13

pochopil jsem z toho, že potřebuješ ke každému jménu ve sloupci A součet všech částek ze sloupce B pro to stejné jméno sloupce A -
do sloupce C, buňky C1 dej toto =SUMIF(A:A;A1;B:B) a pak to protáhni dolů pro všechny řádky

nebo si udělej "vedle nebo na samostatný list" kontingenční tabulku (pivot), v pivotu do řádku dát jména (udělá se agregace, ukážou se jen jednou) a do hodnot pivotu dát částky

kdybys protřeboval pokročilejší sčítání částek přes více vstupních kritérií tak na toje funkce SUMIFS, funkce COUNTIF ti spočítá četnost řádků, kolik stejných jmen se ti tam vyskytuje v celém dokumentu, COUNTIFS je to samé jako SUMIFS pro více kritérií... tyhle funkce jsou alternativou k pivotu

... a potrebuješ k tomu skutočne aj stĺpec C?

Pretože to ide elegantne funkciou "Medzisúčty" na karte "Údaje"

Tabuľka musí mať záhlavie (napr Meno pre stĺpec A a Čiastka pre stĺpec B)

Podmienkou správnej funkcie je mať mená (resp parameter, podľa ktorého sa majú vytvárať medzisúčty)zoradené. To už máš.

Postavíš sa do niektorej bunky záhlavia a navolíš: Údaje-Medzisúčty a nastavíš: Po každej zmene Meno - Použiť funkciu Suma - Medzisúčet pridať do stĺpca Čiastka

Vytvorí sa ti krásny prehľad, pričom môžeš jednotlivé úrovne vypínať a zapínať (znamienka - a +) alebo aj rozbaliť a zbaliť celý strom (klik na záhlavie stromu (1-2-3, pričom 3 je rozbaliť všetko)

R

iný spôsob, keby si tam chcel mať stĺpec C v ktorom má byť nárastové sčítavanie:
(riadok 1 je záhlavie! T.j. Meno, Čiastka, Súčet)
do C2 zapíš: =IF(A1<>A2;B2;C1+B2)
t.j. pokiaľ nie je v predošlom riadku zhodné meno, zapíš čiastku z tohto riadku, inak (t.j. ak v predošlom riadku je zhodné meno) tak mi súčet predošlého riadku pripočítaj k čiastke tohto riadku.
Týmto vzorcom vyplň všetky bunky stĺpca C až po posledný riadok s údajmi
Posledný riadok každej skupiny rovnakých mien bude obsahovať súčet čiastok toho mena

a pokiaľ by si chcel mať len súčty pre rovnaké mená, môžeš zaviesť aj stĺpec D kde do D2 zapíš:
=IF(A3=A2;"";C2)
t.j. ak meno v nasledujúcom riadku je to isté ako meno v tomto riadku, nepíš nič, inak (t.j. ak meno v nasledujúcom riadku je iné) tak mi zapíš súčet z tohto riadku)
Týmto vzorcom vyplň všetky bunky stĺpca D až po posledný riadok s údajmi

Potom ak v stĺpci D zapneš filter, kde si zrušíš fajku u "prázdne" budeš vidieť len súčty za skupiny (t.j. len posledné riadky skupín, v ktorých sú nasčítavané všetky ich čiastky)

R

Ještě jednou ahoj všem, moc Vám děkuji za rady a abych to lépe vysvětlil, udělal jsem mustr té tabulky do přílohy. První tabulka je počáteční stav a druhá pod ní je jak by to mělo vypadat.

Mám ve sloupci N jména, která si filtrem seřadím. Dále mám ve sloupci AD částky a to potřebuji vždy pro dané jméno sečíst do sloupce AE. Lze nastavit nějaká automatizace, která by to sama sčítala, abych to nemusel dělat pro všech cca 14tis jmen?

Ideálně bych Vás požádal o zápis vzorce do mnou vytvořeného mustru.

Moc děkuji.

ak to môžeš robiť makrom tak tu je:

Sub Sucty()
PoslRiad = Range("N1").End(xlDown).Row
Range("AE2:AE" & PoslRiad).ClearContents
Range("AE2:AE" & PoslRiad).UnMerge
ActiveSheet.Sort.SortFields.Clear
ActiveSheet.Sort.SortFields.Add Key:=Range("N2:N" & PoslRiad), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveSheet.Sort.SetRange Range("A1:AR" & PoslRiad)
ActiveSheet.Sort.Header = xlYes
ActiveSheet.Sort.Apply
RiadMena = 2
DalMeno:
Zac = RiadMena
Sucet = Range("AD" & RiadMena)
Do Until Range("N" & RiadMena) <> Range("N" & RiadMena + 1)
Sucet = Sucet + Range("AD" & RiadMena + 1)
RiadMena = RiadMena + 1
Loop
Range("AE" & Zac & ":AE" & RiadMena).Merge
Range("AE" & Zac) = Sucet

If RiadMena < PoslRiad Then
RiadMena = RiadMena + 1
GoTo DalMeno
Else: MsgBox "Hotovo"
Exit Sub
End If
End Sub

Pracuje pre tebou danú tabuľku a je jedno, koľko tá tabuľka bude mať riadkov
Zoradí, zosúčtuje v skupinách a zlúči príslušné bunky

Zpět do poradny Odpovědět na původní otázku Nahoru