Autor Zpráva
had
Profil *
Ahoj,
mohli byste mi, prosím, poradit...? Mám obyčejnou excelovskou tabulku, jedná se o kalendář. Mám dva sloupce. Jeden obsahuje čísla dnů a ve druhém je vždy na začátku měsíce jeho název (a dalších X řádků pod ním je prázdných). A já bych potřeboval rozkopírovat název toho měsíce pod sebe všude tam, kde ten měsíc ještě má být a při dalším měsíci už zase jiný název...

Problém je v tom, že se jedná o několik kalendářů pod sebou a výsledný seznam má kolem 10 000 řádků, takže se mi to nechce dělat ručně a "roztahovat" myší hodnotu buňky se mi zdá taky neefektivní.
Poradíte mi, prosím, nějaký trik / makro / funkci, jak na proměnlivý počet řádků...?

Předem díky za pomoc! :)
_es
Profil
had:
Poradíte mi, prosím, nějaký trik / makro / funkci, jak na proměnlivý počet řádků...?
Makrom by to šlo, no ak sa pýtaš na radu, tak to asi nie je pre teba. Asi by to šlo „trikom“: Vytvoriť nový stĺpec, so vzorcom, ktorý by sa odkazoval na bunku v tom istom stĺpci o riadok vyššie a na pôvodný stĺpec. A použiť vhodné funkcie a vzorec tak, aby bol výsledok to, čo chceš.
had
Profil *
makrem bych přepsal všechny hodnoty budoucích měsíců...

přes funkce jsem to samozřejmě zkoušel, ale nedošel jsem k žádnému použitelnému vzorci, problém je v tom, že bych stejně musel vzorec upravovat...
_es
Profil
had:
bych stejně musel vzorec upravovat
Ako „upravovať“? Vytvoriť nový vzorec pre nový stĺpec a ten nový stĺpec potom použiť.
V Exceli sú určite funkcie na otestovanie, či je bunka prázdna a na vetvenie podľa logickej hodnoty, len sa mi ich nechce teraz, namiesto teba, hľadať.
had
Profil *
ale ne, _es, nerozumíme si. :-)
samozřejmě, že bych mohl udělat podmínku, která by mi vypsala hodnotu jedné konkrétní buňky, která se mi nemění ($B$1), ale musel bych stejně měnit odkaz na tuto buňku u následujících měsíců a to už bych to mohl zrovna rozkopírovat, protože by to vyšlo nastejno.

Zkoušel jsem i jednou podmínkou měnit hodnotu nějaké odkládací buňky a další podmínkou jenom ji zobrazovat, ale excel mi to nedovolil.

Google tvrdí, že nic jako odkládací paměť či proměnná v excelu není. Návody na tenhle problém nejsou. Logické a další funkce excelu jsem samozřejmě studoval předtím, než jsem se odvážil založit vlákno diskuze. Krom toho mám složené ECDL testy z wordu, excelu, powerpointu, accessu a outlooku. ;)

Když jsme u toho, považoval bych za základní funkci jednoduchou formu cyklu. Excel má miliony funkcí, ale co si zřejmě člověk nenaprogramuje přes nějaký modul, tak asi nemá... Možná taky, že kdybych místo toho pokoušení se už od čtyř odpoledne ručně roztahoval hodnoty buněk, tak že už bych v tuhle dobu končil... :-)
_es
Profil
had:
ale ne, _es, nerozumíme si. :-)
Ty mi nerozumieš. Spravíš nový stĺpec, ktorý z hodnoty v pôvodnom stĺpci v tom istom riadku a z hodnoty v bunke v novom stĺpci v predchádzajúcom riadku spraví výsledok, ktorý požaduješ. A ten nový stĺpec potom použiješ.

bych mohl udělat podmínku, která by mi vypsala hodnotu jedné konkrétní buňky, která se mi nemění ($B$1), ale musel bych stejně měnit odkaz na tuto buňku
Už som ti písal, že Excel má aj nejakú funkciu/funkcie na otestovanie, či je nejaká bunka prázdna a funkcie na vetvenie výsledku podľa hodnoty, teda nemusel, ak si to dáš nejako dokopy s predchádzajúcim odsekom.

mám složené ECDL testy z wordu, excelu, powerpointu, accessu a outlooku. ;)
:-):-):-):-):-)
ahoj
Profil *
had:
Můžeš to udělat triviálním makrem, kde bude jeden cyklus a v něm porovnání hodnot dvou buněk.
Jestli ti jde o to, aby se to provádělo automaticky, můžeš to makro navázat na změnu v sheetu. S tím, že samozřejmě nebudeš přepisovat deset tisíc řádků, ale jen od řádku r nahoru po poslední řádek, ve kterém něco už bude.
Bubák
Profil
Nevím, zda jsem zadání pochopil správně, koukni na http://teststranek.kvalitne.cz/smeti/kalendar.zip
Je to bez makra, zobrazení jména měsíce nebo prázdného jsem vyřešil jednoduchou podmínkou.
Pokud to myslíš jinak, upřesni zadání.

Dělal jsem to v LibreOffice a uložil do ODS, XLS a XLSX, doufám, že ti to půjde načíst.
ahoj
Profil *
Bubák:
Nevím, zda jsem zadání pochopil správně,

Taky si nejsem jist (za sebe), ale myslím, že nesplňuješ toto:

takže se mi to nechce dělat ručně a "roztahovat

Tvoje řešení se neobejde bez toho, že po přidání dalších 200 řádků musíš ten vzorec ve sloupci o 200 buněk protáhnout.
_es
Profil
ahoj:
Tvoje řešení se neobejde bez toho, že po přidání dalších 200 řádků musíš ten vzorec ve sloupci o 200 buněk protáhnout.
Môže predsa vzorec skopírovať na všetkých 65 536 možných riadkov.

Bubák:
Ja som to pochopil, že had chce stĺpec:
január
január
január
...
február
február
...
A to zo stĺpca
január
prázdna bunka
prázdna bunka
prázdna bunka
...
február
prázdna bunka
prázdna bunka
...
Základný postup som mu dal, možno potrebuje radu v tvare konkrétneho vzorca.
Bubák
Profil
_es:
Môže predsa vzorec skopírovať na všetkých 65 536 možných riadkov.
Což jde i rychleji, než tažením myší, což je postup vhodný pro oblasti tak do stovek řádků.
had
Profil *
ano, _es, přesně tohle potřebuji. ;) jinak chápu tvůj postup, zkoušel jsem ho a pachtil se s ním dost dlouho a ve výsledku nic nebo chyba. ;)

tady mám vzor: http://kuc.cz/uyv85x

nakonec jsem se uchýlil k jednoduššímu řešení a pomohl jsem si za pomocí PHP. Vše jsem označil, zapnul automatický filtr a vyfiltroval si neprázdná pole, kde byly názvy měsíců. zkopíroval jsem si čísla řádků a názvy příslušejících měsíců, vytvořil si z toho pole, které jsem jedním cyklem prošel a druhým vygeneroval pod sebe všechny hodnoty. Pak jsem vše nakopíroval do excelu a bylo hotovo.

Jinak jde rozkopírovat vzorec za pomoci Ctrl + Shift + End, držet shift a šipkami zúžit výběr jen na jeden sloupec.

Děkuju Vám za pomoc, problém úspěšně vyřešen. :-)
_es
Profil
had:
chápu tvůj postup, zkoušel jsem ho a pachtil se s ním dost dlouho a ve výsledku nic nebo chyba. ;)
Vzorec je vcelku jednoduchý:
Pre bunku D2 v závislosti od stĺpca C:
=IF(ISBLANK(C2);D1;C2)
možno pre českú či inú lokalizáciu bude vzorec iný. A potom ho stačí len skopírovať do iných buniek.
ahoj
Profil *
Nebo využít to, co jsem psal já, tzn. pro daný list napsat skript

Private Sub Worksheet_Change(ByVal Target As Range)

had:
Psals proměnlivý počet řádků, takže jsem měl za to, že jde o něco, co chceš dělat průběžně. Teď popisuješ něco, co rozhodně jako průběžná akce nevypadá.
had
Profil *
ahoj: nenapadlo mě, že to pochopíš takhle. Myslel jsem proměnlivý počet řádků mezi jednotlivými měsíci (myslel jsem a nenapsal). Omlouvám se. ;)

Vaše odpověď

Mohlo by se hodit

Zvažte, zda se neobrátit na specializované fórum, toto se zabývá především webovou problematikou.

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: