Nejste přihlášen/a.

Přihlásit se do poradny

 

Excel- distribuce zisku/ztraty

Od: kimnator* odpovědí: 16 změna:

Excel.. dobrý den, vytvářím si backtester:

ulozto.cz/...

pracuji na dennich distribuci zisku... na list distribuce zisku jsem dal screenshot, jak bych si predstavoval vysledek.
cely backtester si vytvarim sam, a pri jeho tvorbe se zaroven ucim v excelu, udelal jsem velky pokrok, ale na tohle zatim moje sily nestaci

..na liste overview je seznam obchodu a ja chci, aby se kazdy den a pocet obchodu zkopiroval do listu disribution P/L..

napr. 20.01 1 - obchod +120

20.01 2 - obchod -100

viz screenshot.

pro zkopirovani jsem zkousel contentante, ale datum se zkopiruje jenom jako cislo... a dale nevim, jake funkce pouzit aby excel poznal, ze behem jednoho dne byly treba tri obchody a vypsal je do radku pak dalsi den se automaticky kopirovalo do dalsiho radku stejne jako na screenu. byl by nekdo tak laskavy a navedl me na spravnou cestu..dekuji

 

 

16 odpovědí na otázku
Řazeno dle hodnocení

 

 

dzordz*

2x

Pro konkatenaci data je potřeba vytáhnout den, měsíc a rok samostatně, protože excel funkci na převod tímhle směrem nemá, ale to uvidíte.

Nejjednodušším řešením je udělat kontingenční tabulku, s jedinou nevýhodou, že se musí při změně hodnot ručně aktualizovat. Šlo by na to samozřejmě něco napsat, aby se to dělalo samo. Pak z ní už jde zkopírovat nebo jinak použít cokoli: uloz.to/...

Dalo by se i jinak, jenom vzorci, ale musel by být nastavený nějaký strop, kolik bude maximálně záznamů za jeden den. Pak by se to dalo do tabulky tahat přesně po buňkách. Pokud budou data v záznamech seřazena, tak třeba udělat jeden pomocný sloupec, kde se spojí datum+pořadí do jednoho řetězce (a datum může být i v tom číselném formátu), použije se svyhledat(), hledanou hodnotou bude název řádku+sloupce výsledné tabulky (tj ten samý řetězec), najde se správný řádek se záznamem, zkopíruje se číslo z vedlejšího sloupce s dolary do tabulky, hotovo.

kimnator*

děkuji moc za vyčerpávající odpověď. Neni mi, ale presne jasne, jak by to vypadalo pomoci fce vyhledat, protoze ji moc neovladam.. rekneme, ze by ten strop byl pro 5 zaznamu za den..

dzordz*

Takhle: uloz.to/...

Pomocná data (index pro vyhledávání) musí být seřazený a před sloupcem s daty, která budou kopírována. Ale všechno se dá skrýt, takže je to fuk.

A jako bonus tam máte ještě jeden způsob, skalárním součinem polí a bez pomocného sloupce, na který jsem si vzpomněl, když jsem si při ukládání všimnul, co se vedle povaluje za soubory Můžete zkusit, co bude rychlejší (pokud se vyhodí ta kontrola chybových hodnot, tak tipuju, že svyhledat bude lepší).

kimnator*

super. opravdu jste mi pomohl tato distribuce zisků mi ukáže spoustu dulezitych faktu, ktere v obchodovani potrebuji.. funkci se casem prokousu, at se ji naucim, protoze me excel bavi... jste borec muzu se zeptat jakych souboru?

dzordz*

Vlastně jen název souboru, minule se to někdo ptal na filtr podle dvou kritérií a tohle je podobné.

kimnator*

a mohl bych se jeste zeptat, kdyz je prenasim concantenate datum a bunka je prazdna tak to prenese datum z roku 1900.. rad bych tam ty data nemel, tak me napadlo pres funkci kdyz je bunka prazdna nic, kdyz je tak concantenate, ale nejak mi to hlasi chybu.

kimnator*

ulozto.cz/...

jeste jsem objevil jeden takovy detail, pri kopirovani datumu do tabulky distribuce zisku, zisky se kopiruji velmi dobre..akorat nevim, jak kopirovat dalsi datumy, protoze mam treba 5 radku stejneho datumu, zisky se zapisi do radku, ale 4 stejne datumy se zkopiruji pod, coz neni dobre, nevim, jak si s tim poradit. byl byste jeste, tak hodny a poradil mi..

dzordz*

Chybu? Když kliknete nahoře na lištu a zobrazíte panel Závislosti vzorců, je tam nástroj na postupné vyhodnocování zvolené buňky, takže vidíte, jak se funkce zanořují a co kde vychází (jako step into). Ve 2003 nic moc, přeskakuje to někdy moc věcí najednou, v novější verzi to už možná umí víc.

=když(je.prázdné(buňka);"";concatenate()), případně vyměnit podmínku a napsat =když(buňka="";"";concatenate())

Druhá možnost je lepší, protože když ty vzorce budete řetězit v několika buňkách za sebou, tak první buňka koukne, prázdné místo je shodné s "", změní svou hodnotu na "", druhá buňka koukne na první buňku, ta obsahuje "", shoda s "", druhá se vyhodnotí jako "".

Kdyby byla použita první možnost, první buňka koukne, prázdno, napíše "", druhá buňka koukne na první, ale ta není prázdná, protože obsahuje "" (prázdný řetězec), shoda se nekoná a ve druhé buňce se vypíše text. Což nechcete.

Už je to trochu od věci, ale v excelu nejde prostě přiřadit prázdná hodnota, null. Když tam nedáte nic, zapíše se nula. Dobrá možnost je tenhle zmiňovaný prázdný textový řetězec, ale má nevýhodu, že není vidět - nepoznáte prázdnou buňku od té, kde je vzorec, který nic nezobrazuje. Takže ještě lepší možnost je používat nějakou jinou hodnotu, mně se velmi osvědčila tečka. V obrovských dokumentech pak je jasně vidět, kde je co prázdné (tedy tečka) a kde jsou čísla, oproti tomu, kdyby byly všude nasázené nuly a na první pohled by byla vidět jen víceciferná čísla, ale když v hejnu nul bude někde najednou jednička nebo dvojka, nikdo si jí nevšimne. Má to pak jen tu nevýhodu, že se musejí ty nové možnosti ošetřit - už nejen nula, ale i "" nebo tečka. Ve sdílených nebo veřejných dokumentech to je obvykle jedna když() podmínka navíc, v soukromých nebo s povolenými makry si můžete napsat vlastní funkce, které s tím umějí zacházet správně (třeba že součin 5 a . není 5, ale 0).

doplněno 03.02.12 01:24:

Datumy jako F sloupeček, který by se měl taky vyplňovat sám? Asi prostě napsat všechny, po dni, včetně těch, které nebudou vyplněné, protože nebyl žádný záznam. Nebo tam lupnout ještě jeden pomocný sloupec, dělat si značky u prvního záznamu každého dne a pouze z těch řádků kopírovat datumy.

dzordz*

Doplněné ty datumy:

uloz.to/...

kimnator*

Děkuji moc, vše je funkční ..akorát jenom taková kosmetická úprava, ale není to zas tolik podstatné..použil jsem, aby se nezobrazovali ty implicitní datumy, takze to kontroluje prazdnou bunku, coz funguje super..akorat se par policek pod tim zobrazi N/A jde to nejak odstranit?

kimnator*

a když chci každý den vyjadrit funkci suma, tak mi to ukaze 0.. to nechapu

dzordz*

#N/A se zbavíte třeba tím, že před ten celý vzorec vložíte podmínku když a v ní zkontrolujete, co vrací pozvyhledat ve stávajícím vzorci, =když(je.chybhodn(pozvyhledat);nic;stávající vzorec).

No suma nic nesčítá, protože všechny údaje máte jako textové řetězce. Do tabulky se kopíruje ze sloupce C (100, 150, atd) a tam máte všude concatenate, což dává text, ne číslo.

doplněno 03.02.12 14:16:

No jo, protože ta řídící proměnná pro když() musí být stejná jako ta, co tam je na konci, pozvyhledat() se všemi třemi argumenty.

 

kimnator*

=KDYŽ(JE.CHYBHODN(pozvyhledat);"";NEPŘÍMÝ.ODKAZ(CONCATENATE("B";POZVYHLEDAT(I7;E:E;NEPRAVDA)) akorat to vymaze i tu hodnotu, ktera se ma kopirovat..

doplněno 03.02.12 14:23:

nějak zkouším se prokousat tou sumou ruznymi zpusoby, ale zatim jse na nic neprisel.. jdou zpatky ty jednotlive hodnoty z tabulky predat na ciselnou hodnotu a pak secist?

dzordz*

Jo, hodnota() převede text zpátky na číslo. Proč ale nezměníte rovnou ten sloupec, kde vám to vzniká, když používáte concatenate pouze pro kopírování z jiného listu?

kimnator*

já nevím, jak to konkrétně ted myslíte... primo z tabulky vracim hodnoty zpet na text, =SUMA(HODNOTA(K7);HODNOTA(L7);HODNOTA(M7)) hodnoty se sectou, ale nastává problém, když treba jsou jenom tri hodnoty cisla a zbyle dve bunky jsou prazdne, tak vysledek je neplatny typ dat, zkousel jsem tabulku vyplnit 0, ale po vyplneni se zase vyrusi funkce, ktera tam ma byt..

pak jsem zkousel presne ten zapis, aby se vyrusily chyby, chyby se vyrusi, ale zase bunky kopiruji jenom jeden datum.. tak nevim, asi tam ty N/A necham..

dzordz*

Jenom jeden datum? Tomu nerozumím.

Textové hodnoty se do tabulky dostaly tak, že už na začátku v záznamech jsou jako text, byl to snad sloupec C, hodnoty 100, 150, 200,.. , všechny tam byly nakopírovány z jiného listu přes concatenate(List!bunka). Pouze nakopírovány, žádný další smysl jsem v tom neviděl. Změňte to rovnou tam, aby číslo všude zůstalo číslem.

 

 


 

 

 

Přihlásit se k odběru odpovědí z této otázky:

Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.

Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.

Copyright © 2004-2025 Poradna Poradte.cz. Všechna práva vyhrazena. Prohlášení o ochraně osobních údajů. | [tmavý motiv]