Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Excel - náhrada Svyhledat

Dobrý den, mám problém s funkcí Svyhledat. Umí vrátit jen jen hodnotu na základě 1. shody v hledaném výrazu.
Potřebuji do jednoho řádku přiřadit více hodnot na základě jednoho klíče.
Přikládám soubor ve kterém snad bude vidět co potřebuji.

Chtěl bych se zeptat na možné řešení mého problému nebo případné vyřešení do přiloženého excelu.

Předem mockrát děkuji za pomoc

Předmět Autor Datum
je to prasárna v excelu lámat relaci 1:N, ale dá se to tak, že použiješ více svyhledat za sebou, a v…
touchwood 04.04.2017 13:47
touchwood
Prikladám vyriešené... Nie však funkciou SVYHLEDAT, ale kódom VBA, z čoho vyplýva, že súbor musí mať…
robert13 04.04.2017 14:36
robert13
Opravené... Aj keby našlo 10 výsledkov (t.j. vykoná si zápis až po stĺpec K), tak po opätovnom spust…
robert13 04.04.2017 14:58
robert13
Přikládám svůj pokus pomocí maticového vzorce. poslední
Siki83 04.04.2017 20:31
Siki83

je to prasárna v excelu lámat relaci 1:N, ale dá se to tak, že použiješ více svyhledat za sebou, a v dalších sloupcích budeš hledat parametricky pouze od řádku+1 s posledním výskytem hledaného řeštězce (což předpokládá mít ve zdrojových datech unikátní identifikátor, ideálně číslo odpovídající fyzickému číslu řádku).

Příklad:

výskyt je na 15. 20. a 105. řádku:
1. hledání: od 1. do posledního řádku
2. hledání: od 16. do posledního řádku
3. hledání: od 21. do posledního řádku
4. hledání: od 106. do posledního řádku

Nechci vidět tu náročnost na výpočetní výkon...

EDIT: ale když na to tak koukám, tak unikátní kombinace bude nejspíše kod+mesic, tedy řetězec kod&mesic, tedy A1&A3, který v list2 můžeš hodit do 4. sloupce, a za ním do 5. přiřadit opět hodnotu týden. Nezapomeň seřadit podle 4. sloupce!

=SVYHLEDAT($A2&1;List2!$D$2:$E$307;2;0) - vyhledání pro leden, =SVYHLEDAT($A2&2;List2!$D$2:$E$307;2;0) únor atd.

Jak upravit zdrojová data a výsledek:

[http://pc.poradna.net/file/view/28553-excel-png][http://pc.poradna.net/file/view/28554-excel2-png]

Prikladám vyriešené...
Nie však funkciou SVYHLEDAT, ale kódom VBA, z čoho vyplýva, že súbor musí mať príponu xlsm.
Pri otváraní je potrebné odsúhlasiť spúšťanie makier.
Vyhľadávanie spustíš tlačidlom "Spustiť"
Ukončenie vyhľadávania je oznámené hláškou "Hotovo"
Opätovné stlačenie vymaže existujúce výsledky a vykoná celý proces nanovo.
Kód si sám zisťuje potrebné rozsahy prehľadávania, v stĺpci A sa však nesmie nachádzať prázdna bunka pred koncom zoznamu.
Stĺpce musia mať rovnaký formát (nemôžu byť v jednom hárku údaje v stĺpci A zadávané ako text a v druhom ako číslo)

P.S. vymazáva sa oblasť stĺpcov B až F, takže v prípade, že bude výsledkov viac, program ich nájde a vypíše, ale po opätovnom spustení vymaže len po stĺpec F
Hneď napravím :-D

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