=TRIM(TEXT(A1;"# #/#"))
]]>Zkus si požadavek znovu přečíst a pak popiš co opravdu chceš.
Porovnání formátování - zarovnáno do prava
Porovnání formátování - zarovnáno do leva
zjištuji že opravdu nejjednodušší bude vyřešit to vzorcem v tabulce - což ale znamená použít další sloupec.
... chtěl jsem vpodstatě to co je ve sloupci C s tím rozdílem že v řádcích kde je x/1 by bylo jen x a zarovnané by to bylo tak jako teď.
Popř. by mi stačilo i to co je v ve sloupci B, ale zarovnané stejně jako v D
K těm podmínkám: Nezadává se interval a vyhodnocují se postupně.
Pro čísla jsou 3 pole, 4. je vždy pro text.
V podmínce se porovnává obsah buňky s hodnotou. Pro pole je jen jedna podmínka (na začátku výrazu)
[>100] znamená "Když je hodnota v buňce > 100 použij následující formát"
Když podmínka splněná není, vyhodnocuje další pole.
Ve 3. poli podmínka není.
U zlomků je v nápovědě drobná nepřesnost. Pokud použiješ např.: # ??????/?????
je ve jmenovateli vždy 5 znaků, pokud je jich potřeba méně, doplní se mezerami. Zhoršuje to čitelnost výrazu.
Teprve formát # ####?/####? funguje jak se čeká.
Takže jsem si vymyslel, jak by se mi to líbilo. Představoval jsem si, že by se celá čísla zobrazovala jako celá a zbytek, jako zlomky.
Pravdou je, že jsem přitom nepomyslil na nekonečná čísla. Ale i zmiňované 'Pí' by mělo jít vyjádřit zlomkem (o = 2'Pí'r ... 'Pí'= o/2r). Navíc, jak jsem již zmínil zlomky tu částečně nastavit jdou (# ?/? nebo # ??/??).
Pokud to nejde definicí formátu, pak mi samozřejmě nezbyde nic lepšího, než zkusit nějaký, byť možná né úplně přesný vzoreček.
]]>V sešitě jsou funkce, které umí najít největšího společného dělitele - funkce GCD, nebo LCM - nejmenší společný násobek. Dále je možné použít funkci MOD (zbytek z podílu) a INT (celočíselná část podílu). Vždy ale potřebujete nejméně 2 čísla. Pokud je nemáte, muselo by se iterovat dělení podílu (nyní už tedy dělenec) stoupajícím dělitelem. Výsledek tedy nový podíl (ale původní dělenec, nebo dělitel) by se musel vyhodnocovat například jako MOD(xy/z) = 0. Prakticky by se muselo omezit na přibližný výsledek, protože nalezení správných hodnot by mohlo být třeba za 18. tým řádem, kde počítač běžně zaokrouhluje (neumí to dál spočítat).
Takovéhle iterace by i s dobrou mašinou trvaly minuty až hodiny. Vlastní iterace se dají nastavit ve vlastnostech sešitu, ale jsou omezeny. Tohle by bylo na makro. Pokud tedy nejsou výrazy s desetinným číslem výsledkem podílu malých celých čísel, nemá to principiální řešení. Tyto úlohy spadají pod teorii čísel a to je většinou špek. Představte si, že zadáte 3,14... tedy konstantu "Pí", nebo 2.71... základ přirozených logaritmů "e".
]]>aby, se celé číslo, zobrazovalo, necelá část zobrazila jako zlomek.
Jako příklad uvádíte 2,5 = 5/2, nebo 1,75 = 7/4 (Tomu co je uprostřed nejak nerozumím vůbec. 0 ... 0, 2 ... 2,)
Pokud byste chtěl formát podle té první věty, vypadalo by to takhle:
2,5 = 2+(5/10). Podobně 1,75 = 1+(3/4). Když by to mělo být tak, pak byste musel použít ležatou zlomkovou čárku aby byl zlomek poznat. Číslice by pak musely být nad a pod čarou. Tohle umí jen modul "Math".
Pokud byste chtěl opravdu převod na zlomek celého výrazu tak jak uvádíte na příkladech, asi by šlo snadno převádět na decimální tvar - vše na desetiny, nebo na setiny, nebo na tisíciny atd. podle počtu desetinných míst. Nikoliv však na celočíselné podíly. To má několik záludností.
- Desetinné číslo by muselo být podílem čísel z oboru čísel N.
- Co s iracionálními čísly?
- Jak se zaokrouhlováním?
Spíš mi to připadá, že byste potřeboval vyjádření vzorcem v samostatné kolonce. Nemám ani představu, že by tohle zvládl formát buňky. Představte si, že byste zadal podíl, který nemá řešení na oboru čísel N. Připadá mi to nereálné. Dokonce mne ani nenapadá proč to dělat formátem čísla a ne výpočtem ve vedlejších buňkách, pokud je to opravdu potřeba.
]]>Z nápovědy jsem zjistil, cituji:
Závorky podmínek
Umožňuje určit formát čísla tak, aby byl použit jen při splnění určité podmínky. Podmínky se uzavírají do hranatých závorek [ ].
Můžete použít libovolnou kombinaci čísel a operátorů <, <=, >, >=, = a <>.
---
a zároveň zřejmě platí, cituji:
Chcete-li určit formát čísla, který přidá k číslu jiný text, je-li číslo kladné, záporné nebo rovné nule, použijte následující formát:
"plus" 0;"minus" 0;"null" 0
---
což by znamenalo, že pro svou podmínku (u kladných čísel) mohu použít jen část před prvním středníkem
a věci typu:
[0<>1][1<>2]?/?[=1]0[2]0
[=0]0[>0][<1]?/?[=1]0[>1][<2]?/?[2]0
.
.
tohle [=0]0;[<1]?/?;0 funguje, ale jen v intervalu 0 až 1 a další parametry se mi tam nedaří přidat