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