Poradna - seřažení hodnot vzorcem
Vložení příspěvkuhlavní kategorie | zpět | + odpovědět na toto téma
seřažení hodnot vzorcem - diskuze na toto téma |
Ahoj, mám tyto hodnoty(viz níže) a potřeboval bych je seřadit od nejmenšího po největší. Přičemž to mám v jedné bunce jako hodnotu a měnu
-4 usd
0 UK
#N/A
32 GE
0 NZ
4 SW
33 AU
-5 JA
Cíl je:
0 NZ
0 UK
32 GE
33 AU
4 SW
-4 usd
-5 JA
a v tom optimálně ještě vyhodit tu chybu #N/A
Sloupců mám 20, a v každém podobné hodnoty. Potřebuji každý sloupec seřadit od největšího po nejmenší zvlášť. Optimálně vzorcem, aby se mi hodnoty sami řadily, když budu aktualizovat vstupy. Díky moc
Dokud neoddělíte jednotky od hodnot (třeba Data / Text do sloupců), tak čekejte, že vám z kanálu budou vylézat prapodivná zvířátka. Odpověď No klasické třídění A-Z na to funguje, tak jsem myslel, že by to mohla zvádnout i nějaká funkce. Když dám A-Z, tak se to seřadí, i když jsou hodnoty a jednotky spolu. Jen to funguje vždy jen na 1 sloupec :( Odpověď Klasické triedenie na to nefunguje. Ak Vám áno, uveďte príklad. Silne pochybujem totiž o tom, že je "-4 usd" väčšie ako "33 AU" :) Odpověď Maticovo sa to dá riešiť takto. Schválne, či prídete na obmedzenia takéhoto škriabania ľavou nohou za pravým uchom ... lebo na takýchto mačkopsov Excel nieje bez pomocných stĺpcov priamo príliš stavaný. Odpověď Resp. ešte trošku upravený, kratší vzorec... Odpověď elninoslov: funguje to prima. Snažil jsem se pochopit ten vzorec, a potkal jsem se s něčím divným. Jakmile kliknu do pole k editaci vzorce, zmizí první a poslední závorky typu "{}" a vzorec tak přestane fungovat. Když ty závorky napíšu znovu, vzorec se objeví v buňce jako text.
Přidal jsem nový řádek zdrojových dat (řádek 10) a upravoval jsem ve vašem vzorci :B9 všude na :B10, aby se načetl o 1 řádek zdrojových dat více. Po editaci to přestalo fungovat. Čím to? Editovaná buňka: B13. Díky moc. Odpověď Nemyslíte vzorcem:
"=IFERROR(INDEX(B$3:B$9;--ZPRAVA(INDEX(SMALL(IFERROR(--(ZLEVA(B$3:B$9;NAJÍT(" ";B$3:B$9)-1)*10000&HODNOTA.NA.TEXT(ŘÁDEK(B$3:B$9)-2;"00000"));NEPRAVDA);ŘÁDEK(NEPŘÍMÝ.ODKAZ("$1:$"&ŘÁDKY(B$3:B$9))));ŘÁDEK(A1));5));"")
škrábání levou nohou za pravým uchem, že ne? :-D
Díky moc, jdu vyzkoušet nakopírovat na zbytek. Zkoušel jsem rozdělit text na 2 sloupce, pak to seřadit, a sloučit zpět. Ale mám k tomu hromadu pomocných řádků, sloupců, a stejně se to řadí blbě :) Odpověď Keď editujete maticový vzorec (nie obyčajný, ale maticový), tak editáciu ukončíte nie obyčajným Enter-om, ale kombináciou Ctrl+Shift+Enter. Vtedy si tam tie {} Excel doplní sám, a vtedy chápe, ako má so vzorcom pracovať. Nesmiete tam dopisovať {} ručne. Neviem, ako sa bude u Vás meniť tá oblasť, ale asi by bolo dobré nadefinovať si Definovanú oblasť (Definovaný názov oblasti). A táto by za istých podmienok mohla byť dynamická (sama sa meniaca), ale ten maticový výsledný vzorec by musel byť preventívne rozšírený na dostatočnú prípadnú výstupnú oblasť, a to už dopredu. Treba viac info. Odpověď Díky moc za pomoc, pomohlo to. Takhle dlouhý vzorec bych dohromady nedal :) Odpověď Použite ten kratší, čo som uviedol v posledných 2 mojich príspevkoch, nie ten, čo ste citoval z môjho prvého návrhu vo Vašom predposlednom príspevku. Teda v SK "=IFERROR(INDEX(B$3:B$10;--RIGHT(SMALL(IFERROR(--(LEFT(B$3:B$10;FIND(" ";B$3:B$10)-1)&TEXT(ROW(B$3:B$10)-2;"000000"));FALSE);ROW(A1));6));"")"
a v CZ "=IFERROR(INDEX(B$3:B$10;--ZPRAVA(SMALL(IFERROR(--(ZLEVA(B$3:B$10;NAJÍT(" ";B$3:B$10)-1)&HODNOTA.NA.TEXT(ŘÁDEK(B$3:B$10)-2;"000000"));NEPRAVDA);ŘÁDEK(A1));6));"")" Odpověď |