Jump to content
Co nového? Mé kurzy
Komunita:
Diskuze Sledované příspěvky Žebříčky

Doporučené příspěvky

Odesláno

borax,

myslím, že jsou jen dvě možnosti:

- výpočet se provede vždy okamžitě
- nebo vypnout automatické výpočty a potom je spouštět ručně (např. pomocí kombinace dvou kláves)

Aleš

  • Odpovědí 905
  • Vytvořeno
  • Poslední

Nejaktivnější diskutující

Nejaktivnější diskutující

Publikované obrázky

Odesláno

goodbody,

řekl bych, že toto lze pouze pomocí makra (VBA) . Je třeba projít v cyklu nějaké podmínky.

Pokud by Vám to k něčemu bylo, mohu Vám sem vložit samostatnou proceduru z J.A.testeru která toto obsluhuje. Docela jsem se s tím natrápil než to fungovalo opravdu na 100% správně :-)


Aleš

Odesláno

Alec,díky,ručně jsem to zkoušel už jednou,ono se to i potom zase když to vložím nakopíruje všude tak nevím,možná dělám něco špatně.Já jsem si totiž kdysi stahoval deník od Martinka a ten to tam má takhle udělané,vzoreček je tam skrytý a aktivuje se až se tam dají hodnoty,a další sloupce zůstanou zase prázdné,tak proto vím,že to nějak funguje.

borax

Odesláno

to borax:
nevím, jestli chápu správně, ale já vždy vzorce obalím do podmínky, tj. =když(A1=0," "; vlastní výpočet), tzn. když v bunce A1 nejsou data, tak je finální buňka prázdná, pokud do ní vepíšete data, tak se provde výpočet.

M.

Odesláno

goodbody,

tady to je:

Sub DrawDownDenik()
'projde testing Obchody a najde nejvetsi DD

Dim zacatek As Long, konec As Long, newHigh As Double, newLow As Double, Max As Double, Min As Double
Dim findLow As Boolean, sumazisk As Double, DD As Double, procDD As Double, i As Long, procDDmax As Double


zacatek = 28
konec = Worksheets("ObchDenik").Range("F2000").End(xlUp).Row
newHigh = -999999
newLow = 9999999
Max = newHigh
Min = newLow
findLow = False
Application.ScreenUpdating = False
For i = zacatek To konec
sumazisk = Round(Worksheets("ObchDenik").Cells(i, 28).Value, 1)
Worksheets("ObchDenik").Cells(i, 23).Value = 0
If sumazisk > newHigh Then
newHigh = sumazisk
newLow = sumazisk
ElseIf sumazisk newLow = sumazisk
findLow = True
End If
If sumazisk DD = newHigh - newLow
procDD = DD / newHigh
Worksheets("ObchDenik").Cells(i, 23).Value = DD
If procDD > procDDmax Then
procDDmax = procDD
Worksheets("Pomocny").Range("N10").Value = Round(procDDmax, 4)
End If
End If
Next i

End Sub

Pokud nebude něco jasné, není problém se ozvat.

Hodně zdaru

Aleš

P.S: případně to mohu poslat jakou soubor, aby se nerozhodilo formátování odsazení. Takto je to docela nepřehledné.

Odesláno

goodbody,

níže je ta kontrolovaná hodnota, ve sloupci (sumazisk = hodnota stavu účtu/equity). Stačí pokud si tady změníte adresu, umístění Vašeho sloupce a mělo by to běhat. Samozřejmě je třeba ještě upravit cílovou oblast kam budou vkládány výsledky, hodnota nejvyššího DD a procentuální vyjádření.

sumazisk = Round(Worksheets("ObchDenik").Cells(i, 28).Value, 1)

uložení výsledku:
Worksheets("ObchDenik").Cells(i, 23).Value = DD

uložení procentuálního vyjídření:
Worksheets("Pomocny").Range("N10").Value = Round(procDDmax, 4)

Aleš

Odesláno

Díky Aleši,

Bude to chtít trochu prostudovat, ale dovolím si říct, že myšlenku chápu. Zvolíš si min, které pak eventuelně podle situace přepisuješ dalšíma hodnotama....

Zkusím si to napsat pro můj případ. Ještě jednou díky.

Odesláno

to borax:
OK,máš buňky A2, A3, A4, kde A2 a A3 jsou zdroj, do A4 chceš výsledek

1) =když(A2=0;" ";A2+A3)
kdyz bude bunka A2 prázdná, tak bude prázdná i A4, pokud se v A2 objeví číslo, v A4 bude součet.

2) nebo pokud chceš mít v podmínce obe bunky, tak: =když(nebo(a2=0;a3=0);" ";a2+a3).


už vidím, v předchozím příspěvku jsem omylem napsal , místo ; omlouvám se

Míra

Odesláno

Udelal jsem si z kontingencni tabulky graf kde se mi ukazuje celkovy zisk jednotlivych patternu (proste klasicky soucet) nevim si ale rady jak udelat uspesnost jednotlivych patternu v procentech........... pro Vas to je urcite hracka tak prosim o radu........

Dekuji

Lukas

Odesláno

to Luke22:
graf pouze reportuje výstup vlastní KT, v KT je součet polí jako default výstup a zobrazení dat.
Pokud chcete jinou formu výstupů, třeba %úspěšnost, tak klikněte pravým tlačítkem myši na libovolné číslo v KT a zvolte "Nastavení pole", kde si můžete vybrat "počet", dále je potřeba nastavit formu, tu zvolíte v "Možnosti", kde vyberete "Zobrazit data jako" ... "% řádku" nebo "% sloupce", podle toho, jak máte postavenou tabulku.

ať se daří,
Míra

Odesláno

Miro: dekuji za odpoved, ale nefunguje mi to. Popisu jak to mam nastavene: v kontigencni tabulce jsou ctyri oblasti popisky sloupcu, popisky radku, filtr sestavy, hodnoty. Popisku sloupcu mam vlozeny sloupec Patterny napr. DB, DT, ZLR atd. V hodnotach mam vlozeny sloupec zisk/ztrata. Napr. u DB u souctu mam vysledek 600. Dejme tomu 4 zisk 200 jednou ztrata 200 je 600 a procentualni uspesnost by tak mela byt 80%. Kdyz dam pocet tak se mi tam objevi kolik patternu DB bylo dohromady a nerozlisi to ty ziskove od ztratovych takze procentualni uspesnost je 100%. To znamena, ze musim mit dva sloupce jeden pro zisk a druhy pro ztratu? Nebo to jde udelat nejak z toho jednoho sloupce (zisk/ztrata) kde mam prave napr. 4 * 200, 1 * -200?

Diky

Lukas

Odesláno

Lukáši,
přesně jak píšete, KT spočte % řádku, ale musí mít z čeho, tj. jeden sloupce zisk, druhý ztráta, třetí total, xls vypočte jen vzorce, nepozná, co je zisk a co ztráta.
Určitě někde v obchodním deníku máte sloupec, který identifikuje zisk/ztrátu, tak tuto proměnnou hoďte jako "sloupce" a zkuste změnit nastavení pole na "Počet" a Možnosti na "% řádku".

Míra


×
×
  • Vytvořit...