Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  27 28 29 30 31 32 33 34 35   další » ... 37

Funkce se jmenuje SUMIF. Je to užitečná funkce, tak se na ni podívejte!

marjankaj napsal/a:

No netuším, prečo to takto preložili.
http://office.lasakovi.com/excel/funkce/ms-excel-funkce-en-cz/

Netuším, proč to vůbec překládali. Nápad s lokalizací názvů funkcí pokládám za jeden z velmi problematických kroků v Excelu. Neskutečně to např. komplikuje práci se vzorci ve VBA. A být Slovák, tak bych psaní kroužkovaného Ů v ZAOKR.DOLŮ pokládal za velikou zvláštnost. Asi tak, jako kdyby měli Češi psát do jména funkce vokáň. Mimochodem, nedávno mi jeden Slovák napsal, že vlastně neví, jak se velký vokáň na pécéčku píše 5
Nejsem vyznavačem OO, ale tam se bez překladu jmen funkcí obešli a udělali dobře.
Vznik pěti různých funkcí pro zaokrouhlování s pěti lokálními názvy je také výdobytek Excelu a je opět důkazem o vytváření schopností Excelu metodou volného vršení nových věcí na ta starší. Ptám se, proč nestačí jeden ROUND s parametry pro určení, jak má to zaokrouhlení pracovat. Příklady, že tímto způsobem lze funkce napsat, znají všichni, kteří funkce používají.
Pracujeme všichni v prostředí Excelu, které je tvarované ne vždy racionálními důvody. Nevím, proč si máme škrtat jedny fungující vzorce a nahrazovat je jinými vzorci, které fungují naprosto shodně. Opravdu nechci soudit, jestli zápis = ZAOKR.DOLŮ(A1/96;1)*96 je čitelnější než =ZAOKR.DOLŮ(A1;1/24/4) nebo naopak. Mně výraz 1/24/4 připadá spíš jako datum než jako výpočet. Důležité snad je, že oba ty vzorce počítají stejně...

Pánové, abych se příště nemusel touto osobní záležitostí zabývat, tak tady zveřejním část svého CV. Svůj první větší program jsem napsal v jazyce MAT-5 v roce 1967 pro počítač MINSK-22. Od té doby jsem programoval cca v 15 různých programovacích jazycích s cca 10 dalšími mutacemi některých z nich. V době, kdy se narodil Personal Computer od IBM, už jsem velel celým programátorským týmům. Na PC jsem DOS zvládl do šroubku a na Windows jsem přešel až těsně před revolucí 1989. VBA pro MS Excel jsem objevil na přelomu tohoto tisíciletí, tedy cca před 15 lety. Teprve po odchodu do důchodu před dvanácti roky se stalo pécéčko mým hlavním počítačovým prostředím. Z tabulkových procesorů jsem před objevením Excelu miloval zejména Borland Quattro-Pro s jeho grafickým prostředím v rámci DOSu.
Snad tento výčet do budoucna odlehčí některé polemiky se mnou.

to elCHa: právě bordel kolem nejrůznějších funkcí pro zaokrouhlování mne vede k tomu, abych "svoje" zaokrouhlování vždycky stáhl do normalizované podoby, v níž zaokrouhluji na celá čísla. Tam nemusím přemýšlet nad tím, jak vynálezce funkce svou funkci definoval.
Když chci zaokrouhlit na čtvrthodny, tak čas ve dnech ponásobím 96, abych ho dostal do jednotek čtvrthodina a výsledek zaokrouhlím na celé číslo, Abych se vrátil do času, zaokrouhlený výsledek zase 96 podělím. To nedělám z neznalosti, ale kvůli čitelnosti významu vzorce.
V této podobě nepotřebují žádnou funkci pro zaokrouhlování nahoru a dolů. Stačí znormovanou hodnotu zvětšit nebo zmenšit o 0,5 a použít standardní zaokrouhlení. Tak to dělám už 40 let a nezačnu to dělat jinak.

Děkuji, to je pro mne dostatečné zdůvodnění pro vznik té hlášky bez úmyslu vložit do sešitu nějakou nepěknou past. Budu věřit tomu, že není důvod k obavám...

Otázku jste formuloval srozumitelně, jen já jsem nesrozumitelně odpověděl. Vaše přání "Lib knihovna" je přesně to, co odpovídá mému "volání jména funkce ani Alias nemůže pocházet z proměnné ani z konstanty". Jinými slovy: podle mých testů "tudy cesta nevede" 7 .

Stáhl jsem si zde na fóru sešit od sosky. Vložil jsem do něj svůj přídavek a požádal jsem o save. Před uložením jsem obdržel upozornění, se kterým jsem se dosud nesetkal. Ví někdo, co ho vyvolává?

S vědomím elninoslov zasílám do diskuse vlastní způsob řešení, když mne zaujala dost dlouhá výměna příspěvků bez konečného řešení. Žádný zázrak, ale podle mne to funguje 1

Personalisty nemám rád. Jednak u mne mají pořád nálepku kádrováků, jednak zpravidla nevědí, co chtějí, ale tvrdě na tom trvají. Pravidla často nastavují lidé, kteří vůbec netuší, jaká zvěrstva z jejich špatných formulací plynou.
Zaokrouhlování vždycky patřilo mezi nevděčné problémy a pokud se dělá blbě, poskytuje blbé výsledky. Odečítání zaokrouhlených čísel je ze zásady blbost, což jsem se pokusil eufemisticky opsat obratem "je filozoficky nesprávné". Pokud to někdo po vývojáři chce, měl by se tomu vývojář bránit. Minimálně by měl upozornit na důsledky takového postupu. Mnohokrát se mi stalo, že po vysvětlení důsledků stupidně formulované podmínky si dal zadavatel říct a svoje zadání změnil. Když si ale říct nedal, pak dostal, co chtěl. Ovšem na své vlastní zodpovídání...

Pro svůj archiv jako výborný příklad pro práci s hodnotovými poli jsem úlohu doplnil příkladem pro zpracování matice 100x100 hodnot, naplněné náhodnými čísly 1 až 20. Příklad jsem doplnil o časové vyhodnocení doby naplnění matice i doby zjištění četností. Čísla, která to vyhodnocení ukazuje, nejsou řádový překlep, ale skutečné časy v sekundách 5 . Upravenou úlohu přikládám.

Nemohu popřít, že se kontingenční tabulka pro daný účel přímo nabízí. Přesto vám nabídnu algoritmus, který KT předčí v rychlosti, což byste ovšem poznal až na větší oblasti dat. Procedura má dva parametry: "co" a "kam"

to Lubo: budeme se přetahovat, na které straně testu je hranice intervalu? Stejně tak bych se mohl ptát, jak se vyhodnotí v jiných vzorcích M27 = -50?
Citlivost na hranici u vzorce v dotazu je 0,01. Mám se ptát, jak podle něj dopadne M27 = 12,005 ?

Vždycky jsem pokládal za sporné, že lokalizace Excelu znamená také lokalizaci názvů pro funkce listu. Kdo spolupracuje s jinojazyčnými Excely, má problém. Kdo používá VBA, má problém. Vše "vylepšuje" používání rozdílných oddělovačů v různých jazykových skupinách.
Bohužel to tak je a nikdo s tím asi nic nenadělá. Uvedená situace se promítá mj. do příspěvků na tomto fóru. V Čechách je jaksi normální pracovat s českým Excelem, který užívá české názvy funkcí s českou interpunkcí. Vedle toho určitá skupina vývojářů pracuje s jinými (naštěstí téměř výhradně s anglickými) verzemi Excelu. Takže se v příspěvcích potkáme s radou "použij =PROPER(A1)" a s reakcí "to já jsem našel jinou funkci =VELKÁ2(A1)". Jak má začátečník vědět, že jde o totožnou funkci? Toto fórum přijalo bohulibý úkol pomáhat méně zkušeným. Je rozumné právě od nich chtít, aby tušili, že SUMPRODUCT je SOUČIN.SKALÁRNÍ a INDIRECT je NEPŘÍMÝ.ODKAZ? A že čárka je středník a lomítko je tečka?
V zájmu skupiny tazatelů na tomto fóru se obracím na uživatele anglické verze Excelu: uvádějte prosím znění vzorců na tomto fóru pokud možno v české notaci (slovenský Excel ji, pokud vím, také používá). Kdyby vám to činilo potíže, uveďte prosím alespoň upozornění, že vzorec je zapsaný v anglické notaci. Pomůže to snížit zmatek kolem validity odpovědí. Jak se anglický vzorec přepíše do češtiny, si pak i začátečník dokáže zjistit, když si přečte diskusi, která na tomto fóru nedávno k danému tématu proběhla 10 .

Pokud se zjišťuje časový interval mezi změřeným začátkem a koncem akce, je filozoficky nesprávné odečítat zaokrouhlené časy. Daleko správnější je zaokrouhlit až rozdíl změřených časů. Dotaz v tomto vlákně hledá správné zaokrouhlení hraničních časů, což ukazuje spíš na ten nesprávný postup.
V případě odděleného zaokrouhlení začátku a konce může běžně vzniknout celkem devět typů rozdílu. Při zaokrouhlení rozdílu mohou vzniknout jen tři podoby:
- neutrálně k bližší hranici intervalu,
- dolů ke spodní hranici intervalu,
- nahoru k horní hranici intervalu.
K tomu přibývá tzv. účetnické zaokroulení. V Excelu všechno komplikuje taková nejapnost, že formát pro funkci ZAOKROUHLIT chce znát počet desetinných míst, zatímco funkce ZAOKR.DOLŮ a ZAOKR.NAHORU vyžadují velikost zaokrouhlovacího intervalu. Začínající uživatel Excelu z toho může mít hlavu jak pátrací balón.

Jestli jsem si to nemyslel:
- deklarační příkaz nemůže být součástí procedury, a proto ho nelze podřídit příkazu If
- volání jména funkce ani Alias nemůže pocházet z proměnné ani z konstanty. Pokus o to vede na kompilační chybu "Expecting string constant"
Jediné, co fungovat podle mého soudu může (a bude), je deklarovat obě API, ale z algoritmu volat jenom tu, která odpovídá konkrétním podmínkám úlohy.


Strana:  1 ... « předchozí  27 28 29 30 31 32 33 34 35   další » ... 37

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