
Excel
Dobrý den, potřeboval bych prosím poradit s excelem, nevím jestli se jedná o funkci vyhledat, ale je to něco podobného.
Popíši svůj problém.
Ve sloupci A, B, C, D mám hodnoty, pro řádek 1 jsou to hodnoty (1-2-3-4), pro řádek 2 jsou to hodnoty (5-6-7-8) atd. Ve sloupci E mám vždy pro daný řádek nějaký text. Dejme tomu, že někde třeba v buňce M1 mám hodnotu X (která je obsažená někde ve sloupci A, B, C, D). A já bych moc rád chtěl, aby se mně v buňce N1 objevila ta textová hodnota ze sloupce E pro daný řádek. Vyjádřil jsem se hodně zmateně, ale snad se to dá pochopit. Pomůžete prosím? Já ani nevím jestli je to reálné, zkoušel jsem funci vvyhledat, svyhledat, nebo i index a match, ale nedokázal to rozchodit, házelo to chyby. Děkuji moc.
Příklad.
A - B - C - D - E
1 - 2 - 3 - 4 - pondělí
5 - 6 - 7 - 8 - úterý
Buňka M1 (zadám 7)
Buňka N1 (objeví se úterý)
Možno existuje nejaké elegantnejšie riešenie, mňa momentálne napadá táto verzia:
Samozrejme, údaje v stĺpcoch A, B, C, D sa nesmú opakovať v iných riadkoch, t.j. hľadaná hodnota z bunky M1 sa nesmie vyskytovať vo viac, než 1 riadku, inak by bol výsledkom výraz v bunke E na nižšom riadku.
Vzorec je vyslovene pre Tvoj príklad.
Pokiaľ si svoj príklad použil len ako ukážku problému a v skutočnosti potrebuješ vyhľadávať vo viacerých riadkoch, tak vzorec sa bude komplikovať, to by som už potom riešil inak.
Wow, něco podobného bych nedal ani kdybych to studoval měsíc. Děkuji moc.
Akorát to háže chybu "Název?"
sorry, zabudol som na českú verziu...
Jinak máš pravdu, já mám těch hodnot asi 30.
Začíná to na řádku A168 B168 C168 D168 - E168 a končí na A200 - D200, E200
Ale zkoušel jsem do nového listu a ten Název to háže i tak.
takže vyhľadávaná hodnota bude niečo iné, než 1 - 9, keďže by sa museli opakovať...
Josu to čísla 1-132 ve sloupcích A B C D
1-2-3-4
5-6-7-8
...
129-130-131-132
je to 30 řádků, vedle ve sloupci je 30 hodnot, vždy ke každému řádku (ty hodnoty jsou slovní, třeba jména). Z nějakého vzorce vyjede třeba číslo 129(to číslo se objeví v buňce I168) a já bych potřeboval aby vedle toho (J168) vyjela ta textová hodnota. Pro řádek 129-130-131-132 to je Mirek.
Když teda ze vozrce vypadne 129, aby to napsalo Mirek (hodnotu přiřazenou ze sloupce E)
Jseš zlatý.
a ešte čosi: pokiaľ tam máš tieto štvorice čísel, tak potom použi jednoducho výpočet riadka z hodnoty M1 a použi indirect.
Rád bych, ale jsem excel samouk, vše jsem zatím řešil jen funkcí když a jednoduchými vzorci. Indirect neznám, ale kouknu na to a pokusím se to naučit.
v Tvojom príklade to nemôže dávať chybu.
Elegantne sa to dá riešiť makrom: vyhľadá zadaný výraz v poli, vráti číslo riadku, kde bol nájdený a vyžiadaš si údaj v stĺpci E tohto riadka
A zlatý nie som... len bronzový
Bylo to tou verzí, dal jsem tu českou verzi a funguje to.
Dokonce to funguje i když jsem to aplikoval na můj excel, ale jen pro ty dva řádky.
Pokouším se to to vypsat pro každý řádek, ale asi to tam nenacpu 30x.
Urob to pre 4 stlpce pomocou styroch VLOOKUP, a ne pre 30riadkov.
Resp. aj to POZVYHLEDAT sa da pouzit pre stlpce, a vrati to cislo riadku ak najde hodnotu. A potom pouzijes funkciu INDEX s tym cislom riadku.
No, něco podobného jsem zkoušel, ale nerozchodil jsem spojení těch dvou funkcí, takže jsem to nedal.
toto by ti malo vypisat cislo riadku v ktorom nasiel hodnotu M1. Vypise? neskusal som to nechce sa mi.
Ak to vypise cislo riadku, tak si das INDEX(E1:E30; a tu cele to dlhe z vrchu) a mas hodnotu z daneho riadku.
Jdu to vyzkoušet...
Tak hodnotu to vypíše, otázka je teď taková. Kam zapracovat ten index, já to spokování funkcí vůbec nedávám.
do bunky v ktorej chces vidiet vysledok vzorca si pises vzorec a pred neho znak =
=INDEX(E1:E30; tu_to_dlhe_kdyz )
Zapracováno a funguje...díky.
Tak ty jsi taky zlatý a platinový. Super.
Pokiaľ tam máš takéto štvorice za sebou idúcich čísel, tak je nezmysel tam dávať vyhľadávacie funkcie.
Vypočíta sa, v ktorej štvorici sa číslo nachádza tak, že jednoducho delíš štyrmi (a upravíš hranicu). Z toho dostaneš riadok a Indirectom si vyžiadaš obsah E tohto riadku
Samozrejme si treba upraviť to +1 na konci vzorca tak, aby si dostal správny riadok, v tvojom prípade tam bude +168
Tak už si nejen zlatý, ale i platinový.
Díky moc...jdu to ještě vyzkoušet pro všechny hodnoty, ale vypadá to, že to funguje. Super práce.
určite to pôjde
Ešte sa to prípadne dá upraviť, aby vracalo prázdnu bunku, keď bude M1 väčšie, než Tvoja maximálna hodnota
Funguje to len vtedy ak tam mas cisla presne poporadi od 1 do neviemkolko. V tom pripade ale nechapem naco tam kto pisal tie cisla do excelu, ked idu presne poporadi. To musel byt asi magor.
Normalne je to riesit s VLOOKUP alebo INDEX jak som pisal, ptz moze raz niekto prist a tie cisla prepisat z 1-2-3-4 na 1-10-43-2 a potom to uz fungovat nebude.
Ty čísla se měnit nebudou, ty jsou dané a nikdy se nehnou. Takže snad se to nikdy nerozháže.
Pro mě, jako pro laika je tohle řešení asi nejsnadnější. A snad se v tom nikdo hrabat nebude a nechá to tak.
Teď se to budu snažit pochopit a pak si to udělám i pro sloupce. (Mám hodnoty nejen pro řádky 1-2-3-4, ale i pro celé sloupce 1-5-9-13...129) ale to snad půjde udělat podobně.
Vida a je to:
=KDYŽ(I168="";"";KDYŽ(NE(JE.CHYBHODN(POZVYHLEDAT(I 168;A168:A200;0)));A167;KDYŽ(NE(JE.CHYBHODN(POZVYH LEDAT(I168;B168:B200;0)));B167;KDYŽ(NE(JE.CHYBHODN (POZVYHLEDAT(I168;C168:C200;0)));C167;KDYŽ(NE(JE.C HYBHODN(POZVYHLEDAT(I168;D168:D200;0)));D167;"nená jdené")))))
Pro 4 sloupce je to cajk. Díky kluci, něco jste mě naučili.