Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  73 74 75 76 77 78 79 80 81   další » ... 140

Jestli chcete pošlete mi ten soubor na mail (nebo někde uložte a pošlete odkaz), jinak Vám nepomůžu.

To mne mrzí - čemu nerozumíte?

Mluvím teď o Vaší příloze:
1) v KT kliknete na buňku E7 - ROK
2) Nahoře v ribonu máte Nástroje kontingenční tabulky, vyberete Možnosti, Rozkliknete Vzorce a vyberete Výpočtová položka.

Do pole Název napíšete např.: Celkový průměr
2xkliknete na 2011 zmáčknete +, 2x na 2012 zmáčknete plus.. dáte do závorek a podělíte počtem roků.
Mno prostě vzorec musí být nakonec
=('2011'+ '2012'+ '2013'+ '2014')/4 Dáte OK a přidá se nakonec.

Pak přejdete na návrh KT a celkové součty nastavíte na Zapnuto pouze pro sloupce

Váš originální soubor nevidím, takže nevím, proč to hlásí tu chybu, pokud je to pochopitelné, zkuste vytvořit ručně.

Hledejte na google Pivot Table Calculated Item

V předchozím příspěvku jsem aktualizoval kód (v mé příloze byl funkční, protože položka už existovala) - nyní aktualizuje výpočtovou položku a pokud tam není, tak ji i vytvoří.
Samozřejmě musíte vypnout řádkový souhrn - resp. nastavit Zapnuto pouze pro sloupce

Výpočtová položka - umístěte kurzor na pole ROK (E7), dejte možnosti kont. tabulky - Vzorce - Výpočtová položka

Mno - možná si to zasloužilo vlastní vlákno

Napadá mne možnost pomocí výpočtové položky. Nevýhodou je, že pokud se v datech vyskytne další rok, tento vzorec se musí ručně aktualizovat. Nicméně, pokud aktualizujete kontingenční tabulky pomocí kódu, dá se to samozřejmě automatizovat. Např.:Sub subActualizeFormula()
Const sITEM As String = "Celkový průměr"

Dim bExists As Boolean
Dim sFormula As String
With Worksheets("detail_auta").PivotTables("Kontingenční tabulka 1").PivotFields("ROK")
Dim pi As PivotItem
For Each pi In .PivotItems
If Not pi.Caption = sITEM Then
sFormula = sFormula & "'" & pi.Caption & "'"
Else
bExists = True
End If
Next pi
Set pi = Nothing

sFormula = "=(" & Replace(sFormula, "''", "'+'") & ")/" & (.PivotItems.Count + bExists)

If Not bExists Then
.CalculatedItems.Add sITEM, sFormula
Else
.CalculatedItems(sITEM).StandardFormula = sFormula
End If
End With 'Worksheets("detail_auta").PivotTables("Kontingenční tabulka 1").PivotFields("ROK")
End Sub

@lubo
Protože existuje vždy více řešení, moje definice pro nejlepší je - Takové řešení, které si uživatel udělá sám nebo mu rozumí natolik, že je schopen si ho kdykoliv sám opravit nebo přizpůsobit (tedy ne vždy technicky nejlepší).

Proč mám nedůvěru ke KT+ZÍSKATKONDATA je podložena velice čerstvou zkušeností
V současnosti vytvářím program - obsahuje 1 velkou databázi (cca 60kR x 21C) a momentálně 7 malých. První nápad bylo tahat data do více KT a pak pomocí ZKD vytvořit souhrn - jak píšete, mělo to být rychlejší. Je to pro mne, takže ani problém se zapomenutým aktualizováním nehrozí. K mému zděšení, když byla první varianta hotová, tak druhý den ráno mi Excel (2007) napsal, že program nelze otevřít a opravil to tak, že to bylo nepoužitelné (překvapivě). Btw, ten soubor vytvářím už od ledna (ve volných chvílích ;)) ). Zachránilo mne to, že mám XPMode a tam nainstalovaný 2010, který to otevřel. Po několika pokusech to otevřít zpět ve 2007 pomohlo jedině odstranění všech mezičlánků v podobě KT a ZKD a nahrazení funkcí. Takže mi vlastně zůstaly jen ty databáze a vše ostatní jsem dělal znova (jo vlastně výstupní tabulka obsahoval formátování). Je to pomalejší, ale ne pomalé a funguje to. Neumím si představit, kdybych to dělal pro někoho a jemu se pak tohle stalo...

- Občas použiji jednu nebo několik KT na skrytém listu s ovládáním přes průřezy, report nebo grafy pomocí ZÍSKATKONTDATA.
Je to docela efektní varianta prakticky bez programování


Je možné toto trochu rozvést (nebo vložit ukázku)? Pokud ne, respektuji.

@Ti, kteří to nebudou číst (už na to prosím nereagujte)
nepatří to sem, omlouvám se, ale jsem prostě (neprofesionální) ješita
1) prvé s Default nastavením bolo neprofesiálne
Default nastavení - prvotní nastavení aplikace, které si uživatel může změnit (http://en.wikipedia.org/wiki/Default_%28computer_science%29)
2) Uznávám, že ZÍSKATKONDATA je vlastně SUMIFS si lze vyložit jako ZÍSKATKONDATA = SUMIFS, proto očekávaná reakce luba a viz později (a proto "čtěte pořádně") - Vím, že se chová jinak a že to není to samé. V KT je většina hodnot, které jsou tahané z databáze "v podstatě" výsledkem fce SUMIFS.
Pro některé dodám SUMIFS ve většině použití KT, v ostatních případech samozřejmě další funkce.

Dneska mi to moc nemyslí - jestli rozumím, chcete se zpětně dopočítat těch 2,4%?
=ÚROKOVÁ.MÍRA(B6;B8;B4)*12

@Hav-Ran
ZISKATKONTDATA=SUMIFS
Čtěte pořádně - tohle jsem netvrdil a byl bych za hlupáka ;)
Nebudu to celé opakovat - v praxi jsem několikrát něco začínal řešit pomocí ZÍSKATKONDATA a nakonec jsem vždy přešel k funkcím (SUMIFS, AVERAGEIFS a dalších x možností). S kontingenčkama dělám téměř denně.
Neříkám, že je zbytečná, ale nahraditelná ve většině případů spolehlivějšími prostředky.
Můj názor z mých zkušeností

@lubo
Mno říkal jsem si, že zareagujete ;)

Vím, že se chová jinak a že to není to samé. V KT je většina hodnot, které jsou tahané z databáze "v podstatě" výsledkem fce SUMIFS.
Nemá cenu to moc rozebírat - v praxi bude dle mého názoru ve velké většině případů lepší použít SUMIFS (já to zatím použil vždy) než tahat data z KT, protože uživatel nechce vidět číslo z KT, ale číslo z databáze (tedy vždy aktuální).
Toto je vyjímečný případ, kdy chce Alfan vidět v KT ještě nějaké mezisoučty a je zde "riziko", že pokud KT neaktualizuje, bude se divit, že součet je jiný než má být.
SUMIFS je logicky pomalejší...

Mimochodem, mám okno a už měsíc se sem tam snažím vzpomenout - ale mám pocit, že to co chce se mi už v KT podařilo.

@Hav-Ran
;)) - neznamená. Nicméně, podle toho, že ji dal dohromady jsem si jistý, že vlastně znamená ;))

Je jediná funkce, kterou bych z fleku vytvořit nedokázal a hádejte, která to je. Já ještě dělal ve verzi excelu, kde sice tato funkce byla, ale nebylo tam její generování (nechce se mi hledat, od kdy tam je). Mno řeknu Vám, pakárna - tenkrát ještě Excel-Table nebyl, takže jsem to jednou nebo 2x použil

Mimochodem, další nevýhodu (někdy to může být výhoda, ale nenapadá mně...) oproti SUMIFS můžete vidět když si dáte=ZÍSKATKONTDATA("Zbývá_uhradit_v účt.";$A$5;"Splatnost";"Do splatnosti";"Doklad";20150064;"FaTyp";"FV2015";"Partner";"ABC";"Dny";-11;"Zakázka";"pokládka kabelů") a pak z káté odstraníte Partner.
SUMIFS počítá dál, KT vrátí #REF

@Alfan
řekl bych, že jste změnil název pole - originální název je Zbývá_uhradit_v účt. a Vy jste si ho zkrátil na Zbývá. ZÍSKATKONDATA je velice citlivá funkce a tohle pravděpodobně nesežere.
Takhle ne:=ZÍSKATKONTDATA("Zbývá";$A$5;"Splatnost";"Do splatnosti";"FaTyp";"FV2015")Takhle ano:=ZÍSKATKONTDATA("Zbývá_uhradit_v účt.";$A$5;"Splatnost";"Do splatnosti";"FaTyp";"FV2015")
@Hav-Ran
Tato funkce je defaultně zapnutá
Když si uvědomíte, že ZÍSKATKONDATA je vlastně SUMIFS, tak ve spojení s "novým" objektem Tabulka (Excel-Table) není co řešit, protože už nemusíte uvažovat ani nad dynamickými oblastmi...

Nemyslím si, že sešit musí být odemknutý (sice nic o tom nevím) - zámek je nejlepší řešení.

Pomocí VBA to jednoduše neošetříte - nebo mně nenapadá jak. Undo tady nefunguje.

Můžete zkusit vypnout příkazy odstranění. Musíte pak ale řešit přepnutí do jiných sešitů atd. Např. v místní nabídceApplication.CommandBars("Ply").Controls("Odstranit").Enabled = False. Pak byste musel ještě pořešit vypnutí v Ribbonu .

Odchytnou odstranění lze, ale jak jsem psal výše - nic to neřeší...

Tomu, co jste napsal, vůbec nerozumím ;)))

Ještě jsem na to dneska mrkl a řešitelné to je i se zobrazením přes Mapy.cz. Asi ne přes HT-odkaz, ale přes dočasný soubor html. Podařilo se mi naplánovat cestu z Ostravy do Prahy - v google chrome mi to funguje, v IE 9 ne. Asi by se to dalo doladit, ale jak jsem psal, potřebovat to nebudu, takže už na to pldím...

@Alfan
Vykašlete se na ZÍSKATKONDATA za kontingenční tabulky a používejte zdrojovou tabulku a SUMIF, resp. SUMIFS.
G2=SUMIF(DataTabPOS[Splatnost];F2;DataTabPOS[Částka v měně účtování])G3=SUMIF(DataTabPOS[Splatnost];F3;DataTabPOS[Částka v měně účtování])G4=SUMA(I2:I3)

když to tak potřebujete, tak si to tak udělejte.
Jinak ale seznam listů vyjedete kliknutím pravým tlačítkem na šipky výběru listůimg

Je to jednoduché. Byte je od 0 do 255, to víte. Ve výrazuFor i = 10 To 1 Step -1musí být všechny argumenty stejného typu (vb je tolerantní, takže nějaké výchylky jsou možné - jsem na tabletu, takže neověřím. Ve striktním jazyce by Vám tento zápis neprošel ani kompilací). Mno a protože i je Byte, -1 musí být také Byte a to není.


Strana:  1 ... « předchozí  73 74 75 76 77 78 79 80 81   další » ... 140

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje