Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem 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ý)

Předmět Autor Datum
Možno existuje nejaké elegantnejšie riešenie, mňa momentálne napadá táto verzia: =IF(M1="";"";IF(NO…
robert13 13.02.2017 14:36
robert13
Wow, něco podobného bych nedal ani kdybych to studoval měsíc. Děkuji moc. Akorát to háže chybu "Náze…
Navrátil-Tom64 13.02.2017 14:47
Navrátil-Tom64
sorry, zabudol som na českú verziu... =KDYŽ(M1="";"";KDYŽ(NE(JE.CHYBHODN(POZVYHLEDAT(M1;A1:D1;0)));…
robert13 13.02.2017 14:55
robert13
Jinak máš pravdu, já mám těch hodnot asi 30. Začíná to na řádku A168 B168 C168 D168 - E168 a končí n…
Navrátil-Tom64 13.02.2017 14:50
Navrátil-Tom64
takže vyhľadávaná hodnota bude niečo iné, než 1 - 9, keďže by sa museli opakovať...
robert13 13.02.2017 14:51
robert13
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…
Navrátil-Tom64 13.02.2017 14:57
Navrátil-Tom64
a ešte čosi: pokiaľ tam máš tieto štvorice čísel, tak potom použi jednoducho výpočet riadka z hodnot…
robert13 13.02.2017 15:00
robert13
Rád bych, ale jsem excel samouk, vše jsem zatím řešil jen funkcí když a jednoduchými vzorci. Indirec…
Navrátil-Tom64 13.02.2017 15:08
Navrátil-Tom64
v Tvojom príklade to nemôže dávať chybu. Elegantne sa to dá riešiť makrom: vyhľadá zadaný výraz v po…
robert13 13.02.2017 14:58
robert13
Bylo to tou verzí, dal jsem tu českou verzi a funguje to. Dokonce to funguje i když jsem to aplikova…
Navrátil-Tom64 13.02.2017 15:01
Navrátil-Tom64
Urob to pre 4 stlpce pomocou styroch VLOOKUP, a ne pre 30riadkov.
MM.. 13.02.2017 15:02
MM..
Resp. aj to POZVYHLEDAT sa da pouzit pre stlpce, a vrati to cislo riadku ak najde hodnotu. A potom p…
MM.. 13.02.2017 15:07
MM..
No, něco podobného jsem zkoušel, ale nerozchodil jsem spojení těch dvou funkcí, takže jsem to nedal.
Navrátil-Tom64 13.02.2017 15:09
Navrátil-Tom64
KDYŽ(JE.CHYBHODN(POZVYHLEDAT(M1;A1:A30;0));KDYŽ(JE.CHYBHODN(POZVYHLEDAT(M1;B1:B30;0));KDYŽ(JE.CHYBHO…
MM.. 13.02.2017 15:27
MM..
Jdu to vyzkoušet...
Navrátil-Tom64 13.02.2017 15:48
Navrátil-Tom64
Tak hodnotu to vypíše, otázka je teď taková. Kam zapracovat ten index, já to spokování funkcí vůbec…
Navrátil-Tom64 13.02.2017 15:55
Navrátil-Tom64
do bunky v ktorej chces vidiet vysledok vzorca si pises vzorec a pred neho znak = =INDEX(E1:E30; tu_… poslední
MM.. 13.02.2017 16:01
MM..
Zapracováno a funguje...díky. Tak ty jsi taky zlatý a platinový. Super.
Navrátil-Tom64 13.02.2017 15:56
Navrátil-Tom64
Pokiaľ tam máš takéto štvorice za sebou idúcich čísel, tak je nezmysel tam dávať vyhľadávacie funkci…
robert13 13.02.2017 15:10
robert13
Tak už si nejen zlatý, ale i platinový. Díky moc...jdu to ještě vyzkoušet pro všechny hodnoty, ale v…
Navrátil-Tom64 13.02.2017 15:16
Navrátil-Tom64
:-D určite to pôjde Ešte sa to prípadne dá upraviť, aby vracalo prázdnu bunku, keď bude M1 väčšie,…
robert13 13.02.2017 15:18
robert13
Funguje to len vtedy ak tam mas cisla presne poporadi od 1 do neviemkolko. V tom pripade ale nechape…
MM.. 13.02.2017 15:21
MM..
Ty čísla se měnit nebudou, ty jsou dané a nikdy se nehnou. Takže snad se to nikdy nerozháže. Pro mě,…
Navrátil-Tom64 13.02.2017 15:23
Navrátil-Tom64
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-…
Navrátil-Tom64 13.02.2017 15:19
Navrátil-Tom64
Vida a je to: =KDYŽ(I168="";"";KDYŽ(NE(JE.CHYBHODN(POZVYHLEDAT(I 168;A168:A200;0)));A167;KDYŽ(NE(JE…
Navrátil-Tom64 13.02.2017 15:30
Navrátil-Tom64

Možno existuje nejaké elegantnejšie riešenie, mňa momentálne napadá táto verzia:

=IF(M1="";"";IF(NOT(ISERROR(MATCH(M1;A1:D1;0)));E1;IF(NOT(ISERROR(MATCH(M1;A2:D2;0)));E2;"nenájdené")))

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.

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

KDYŽ(JE.CHYBHODN(POZVYHLEDAT(M1;A1:A30;0));KDYŽ(JE.CHYBHODN(POZVYHLEDAT(M1;B1:B30;0));KDYŽ(JE.CHYBHODN(POZVYHLEDAT(M1;C1:C30;0));KDYŽ(JE.CHYBHODN(POZVYHLEDAT(M1;D1:D30;0));"";POZVYHLEDAT(M1;D1:D30;0));POZVYHLEDAT(M1;C1:C30;0));POZVYHLEDAT(M1;B1:B30;0));POZVYHLEDAT(M1;A1:A30;0))

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.

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

=IF(M1<1;"";INDIRECT(CONCATENATE("E";INT((M1-1)/4)+1)))
=KDYŽ(M1<1;"";NEPŘÍMÝ.ODKAZ(CONCATENATE("E";CELÁ.ČÁST((M1-1)/4)+1)))

Samozrejme si treba upraviť to +1 na konci vzorca tak, aby si dostal správny riadok, v tvojom prípade tam bude +168

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.

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.

Zpět do poradny Odpovědět na původní otázku Nahoru