@vovka.h
Pomocné sloupce nejsou tabu, někdy jsou výhodné. Záleží na konkrétní úloze.
V tomto konkrétním případě pomocný sloupec nahrazuje normální funkci kontingenční tabulky.
Kde je hranice, kdy je jeden vzorec už nesrozumitelný?
Pokud použiji extrémní příklad, tak pro někoho je možná vzorec
=(A1+B1)*C1
extrémně složitý a rozložil by to do snadnějších operací
D1: =A1 + B1
E1: D1*C1
Podle mne, kromě vlastní úlohy, hraje roli i schopnost autora a požadavky a schopnosti uživatele.
Odborník má obvykle větší volnost při volbě řešení.
AL napsal/a:
StrComp nie je stopercentný, ale ani triedenie na liste nefunguje vždy korektne. Príklady, kedy to nezafunguje presne ani v jednom z uvedených prípadov, sú napr. dvojice slov:
môj - mojmír
můj - muller
AL napsal/a:
neporadí si to pravdepodobne vždy ani s dvojicou znakov c a h, napr v slove viachlavý sa nejedná o ch, ale o c a h..
Ve vba: format(now,"mmmm")
belko napsal/a:
Keď použijem KJ aj tak tam treba pomocný stĺpec B.
=IF(B2>C2;MIN(B2-C2;D2);0)
nebo
=MAX(MIN(B2-C2;D2);0)
Pěkný nápad.
Pro použití ve vzorcích to ale nevyužiji. Minimálně dokud bude CONCATENATE hloupá.
Zpočátku jsem trochu doufal, že jste objevil něco bez pomocných vzorců.
@marjankaj
Pokud je 12500 přesná hodnota pak jsou i nuly platné.
pokud je původní hodnota třeba 12455 a hodnota 12500 vznikla zaokrouhlením, pak jsou platné číslice 125.
Do platných číslic se nepočítají nuly vpravo, které vznikly zaokrouhlením.
Jinak máte pravdu v tom, že třeba také ukázat ty platné nuly.
Zobrazení hodnoty s platnými nulami (za desetinnou čárkou) je možné vzorcem:
=ZAOKROUHLIT.NA.TEXT(C6;D6-CELÁ.ČÁST(LOG(ABS(C6)))-1)
Ani tento vzorec ale není dokonalý.
Shodou okolností selhává u Vašeho čísla:
Číslo 9,998 zaokrouhleno na 3 platné číslice je 10,0
Uvedený vzorec ale dá 10,00.
Správně, ale jedna nula navíc. Možné řešení pro puritány:
=ZAOKROUHLIT.NA.TEXT(A1;B1-CELÁ.ČÁST(LOG(ABS(ZAOKROUHLIT(A1;B1-CELÁ.ČÁST(LOG(ABS(A1)))-1))))-1)
A1 číslo
B1 počet platných číslic
Ještě mi došlo:
Čísla
125
1250
12500
Zobrazujete jako 125 - to je poněkud nepraktické, ty nuly na konci je nutné doplnit.
Obdobně 0,000125 zobrazíte jako 0,000 - občas se dá tolerovat, ale raději nuly připíšu.
Tak postupně.
Za platné číslice považují číslice bez 0 na začátku a na konci čísla. Pokud je požadavek na zobrazení platných číslic, tak obvykle jde o takové zaokrouhlení, kdy výsledné číslo mělo určitý počet platných číslic.
Tedy 12500 i -0,0000125 mají 3 platné číslice.
Formátem lze omezit počet platných číslic jak zmínil marjankaj pouze matematickým/vědeckým formátem, případně přibližně zaokrouhlovat na násobky tisíců.
Poslední žlutá. Funkce ZAOKROUHLIT (ROUND) poslední číslici 5 zaokrouhluje "od nuly", tj. kladná čísla nahoru a záporná čísla dolu. Většinou mi to nevadí.
Funkce CELÁ.ČÁST (INT) zaokrouhluje na nejbližší celé vždy dolu.
@elninoslov
Dost často dělám s většími tabulkami. Při více podmíněnných formátech občas Excel nestíhá zobrazovat. Proto se mj. vyhýbám složitějším výpočtům v podmíněném formátu i když to v daném případě není nutné. Pár čísel na pomocném listu mi nevadí.
Tj. Volný den (svátek nebo víkend) stačí:
=WORKDAY(A1-1;1;Tabulka svátků)<>A1
=WORKDAY.INTL(A1-1;1;;Tabulka svátků)<>A1
nebo když chci třeba pracovní soboty
=WORKDAY.INTL(A1-1;1;"0000001";Tabulka svátků)<>A1
nebo jenom svátky
=WORKDAY.INTL(A1-1;1;"0000000";Tabulka svátků)<>A1
Raději hodnotu zaokrouhlím vzorcem:
=ZAOKROUHLIT(A1;B1-CELÁ.ČÁST(LOG(ABS(A1)))-1)
A1 - číslo
B1 - počet platných číslic
(Vzorec v případě malých čísel nepovažuje nuly za bezprostředně za desetinnou čárkou za platné číslice.)
elninoslov napsal/a:
To ale nebude fungovať, tak ako som písal, keď budú dáta z viacerých rokov.
Třeba
=WORKDAY.INTL(A1-1;1;"0000000";Tabulka s datumy)<>A1
nebo
=SVYHLEDAT(A1;$C$1:$C$2;1)=A1
Použij WORKDAY.INTL
Záleží na tom, co se chce.
a) Generovat řadu náhodných 1 a -1 s pravděpodobností výskytu 1 rovnou 80%
b) Náhodně seřadit 80% hodnot 1 a 20% hodnot -1
Uvedený vzorec řeší var. a)
Vy jste řešil var. b)
K tomu "zkoušení". Stačí využít elementární základy počtu pravděpodobnosti a zjistíme, že ve var a) při 10 pokusech je pravděpodobnost výskytu 10ti hodnot 1 je cca 10,74%. Výskyt 4 hodnot -1 má pravděpodobnost 8,81%.
Ovšem při cca 1000 číslech jsou rozdíly mezi metodami zpravidla zanedbatelné a vzorec považuji za jednodušší.
Pro hodně malý počet generovaných hodnot (tak do 100) bych doporučil Vaši metodu.
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
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.