Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  30 31 32 33 34 35 36 37 38   další » ... 40

@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


Excel dodržuje doporučení pro abecední třídění (pokud mi to nesedlo, zpravidla jsem něco přehlédl):

http://prirucka.ujc.cas.cz/?id=900

Totéž řeší ČSN 97 6030 (nevím jestli je poslední)

Uvedené příklady odpovídají tomuto doporučení:
? strcomp("môj", "mojmír", vbBinaryCompare)
1
? strcomp("môj", "mojmír", vbTextCompare)
-1

? strcomp("můj", "muller", vbBinaryCompare)
1
? strcomp("můj", "muller", vbTextCompare)
-1


Pokud jsou slova stejná, nastoupí řazení podle diakritiky:


? strcomp("muj", "můj", vbTextCompare)
-1


Problémem může být konvence o velkých znacích:


? strcomp("muller", "Muller", vbTextCompare)
0
? strcomp("muller", "Muller", vbBinaryCompare)
1


Tj. při shodě můžeme pořadí upřesnit binárně nebo jinak.

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..


Toto ale vyžaduje slovník. Slovenský excel nemám, v češtině mne slovo s c-h nenapadlo.

Předpokládám, že i slovenština má podobné doporučení. Výsledek ale závisí na jazyce.

Ve vba: format(now,"mmmm")

belko napsal/a:

Keď použijem KJ aj tak tam treba pomocný stĺpec B.


Do KT dejte datum (sloupec A) a v KT použijte seskupování podle měsíců.

=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.


A co brání doplnit tabulku o svátky pro další roky?

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.


Strana:  1 ... « předchozí  30 31 32 33 34 35 36 37 38   další » ... 40

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