Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Excel - odkaz na buňky, když...

Zdravím,
rád bych bez použití maker vyřešil následující excelovský problém.

Na listu ABC jsou jakási zdrojová data (cca 2 tisíce řádků a 20 sloupců) - pro příklad přikládám výřez obrázku. Potřebuju zkopírovat odpovídající číslo (např. ve formě odkazu) ze všech příslušných buňěk sloupců P a R, když je ve sloupci L např. nula.

Např. když je v L225 nula, potřebuju hodnoty P225 a R225.

Používám funkci když pro každou hodnotu, kterou chci zkopírovat:
=KDYŽ(ABC!L225=0;ABC!L225;"")
Ale pak získám tabulku kde je spousta prázdných buněk.

Snad se mi to alespoň trošku povedlo vysvětlit.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Tak přikládám excelovský sešitna na ukázku. List Data obsahuje veškeré data Druhý list už obsahuje s… nový
Mirror001 29.10.2013 11:06
Mirror001
No, tak pokud jsem to pochopil dobře, tak: 1. máš zdrojová data (list "Data"), která potřebuješ rozt… nový
MachR55 29.10.2013 12:36
MachR55
Na listu data pro každý řádek vytvořit unikátní hodnotu indexu složeného z hodnoty sloupce B a pořad… nový
TNT 29.10.2013 13:40
TNT
MachR55: Ano, pochopil jsi to správně. Jen bych rád zdůraznil, to co jsem ještě zatajil - a to, že t… nový
Mirror001 29.10.2013 14:04
Mirror001
V tom případě je řešení to, co psal TNT - tj. pro každý řádek v Datech vytvořit jednoznačný index a… nový
MachR55 29.10.2013 15:12
MachR55
Tak sem se o něco pokusil. Doufám, že sem pochopil zadání jinak se z toho ... Vše je řešeno pomocí m… nový
Siki83 29.10.2013 17:54
Siki83
Siki, výborná práce, moc děkuju!! Zrovna to aplikuju na svá data, ale chvíli to potrvá, než se zorie… nový
Mirror001 29.10.2013 19:02
Mirror001
Se záhlavím nebude problém, stačí si jen nastavit rozsah "prohledávané oblasti". Ve vzorovém sešitu… nový
Siki83 29.10.2013 19:42
Siki83
Hmmm, zírám ::) Zrovna jsem chtěl doporučit to samý, co TNT, ake tohle je fakt parádní řešení, to by… nový
Zdenál 29.10.2013 19:48
Zdenál
Tak funguje to náramně ;-) Ještě jedna věc, která je naznačena v přiloženém excelovském souboru. Jd… nový
Mirror001 30.10.2013 11:08
Mirror001
Problém jsou ty hodnoty #N/A. Takže: 1. vytvoř si pomocnou buňku - např. G1 - v níž bude maticový v… nový
MachR55 30.10.2013 11:38
MachR55
Tak mě to píše, že ve vzorci je cyklický odkaz, který excel neumí vypsat (v reálných datech). Já jse… nový
Mirror001 30.10.2013 14:41
Mirror001
Co třeba takto: Opět maticový vzorec :-) poslední
Siki83 30.10.2013 15:01
Siki83

Tak přikládám excelovský sešitna na ukázku.
List Data obsahuje veškeré data
Druhý list už obsahuje separovaná data.
Ve skutečnosti je v jednom sešitě mnohem více dat. Po separaci dle hodnoty (ve sloupci B v listu Data) ale zůstávají v tabulkách po separaci volné buňky - vím, proč tam zůstávají, ale nejsem schopen přijít na to, jak to obejít. Kdyby to bylo jen pár prázdných buňěk, ale jsou (budou) jich stovky - a já bych rád měl všechny hodnoty ve všech tabulkách vedle sebe, abych nemusel rolovat jak blázen. Viz. sešit.
Děkuju

No, tak pokud jsem to pochopil dobře, tak:
1. máš zdrojová data (list "Data"), která potřebuješ roztřídit do oblastí dle hodnoty ve sloupci "B" (0, 1, 2, ...)
2. Tyto oblasti se nacházejí na listu "Separovaná data"; pokud je na listu Data ve sloupci B hodnota 0, tak cílové sloupce jsou B až D, při hodnotě 1 to jsou sloupce F až H, atd.

Pokud je to tedy pravda, tak bych na to použil rozšířený filtr - tady máš povídání přímo od MS a tady máš návod z webu Lasakovi.com.

Na listu data pro každý řádek vytvořit unikátní hodnotu indexu složeného z hodnoty sloupce B a pořadového čísla pro každý prvek sloupce B (lze to spojit s podmínkami, za jakých prvek vstupuje do výběru, to co nemá vstoupit prostě pořadí nedostane). Základní předpoklad je, že hodnoty ve sloupci B jsou seřazeny, nejsou různě promíchané. Pak by to nefungovalo. Ten index by vypadal třeba takto "1_1", "1_2"... až "1_n", "2_1", "2_2"... až "2_n"...
Separovaná data mají číslo pořadí určeno číslem řádku, někde začne řádek s číslem pořadí 1. třeba ve sloupci A. Ty další sloupce jsou už konkrétní hodnoty dodané funkcí "svyhledat" ta funkce má první hodnotu určenou pro index a ten vytvořím jak je uvedeno výše hodnotou prvku + pořadí", druhá hodnota funkce je zdrojová tabulka data, třetí hodnota je číslo sloupce té tabulky ve které jsou ty hodnoty, čtvrtá hodnota je nula "0" neboli nepravda.
Na spojení dvou hodnot a přidání "_", slouží funkce CONCATENATE(1;"_";2) vytvoří textový řetězec "1_2".
Teď se nemůžu hrabat přímo v excelu, kdyžtak později, pokud nikdo nepřispěje s jiným a lepším řešením. :-)

MachR55: Ano, pochopil jsi to správně. Jen bych rád zdůraznil, to co jsem ještě zatajil - a to, že těch soborů s čísly je skoro 200 a stále přibývají. Ty soubory vkládám do jakéhosi excelovského mustru- ten mi data vyhodnotí. Proto je třeba, aby vše probíhalo automaticky, třeba ve formě odkazů na buňky. Filtry asi takto fungovat nebudou. Každopádně děkuju za vstřícnost.

TNT: To zní dost fundovaně a tady je možná ten klíč k mému problému. S těmito funkcemi jsemse ale doposud neshledal a ani po x-tém čtení mi to není jasné :(

Se záhlavím nebude problém, stačí si jen nastavit rozsah "prohledávané oblasti". Ve vzorovém sešitu začínají data na řádku 7. Pokud je záhlaví sloupce na řádku 6 nebo nižším nemá to na vzorec vliv.
Pokud se Ti nebude dařit přenést vzorce do ostré verze sešitu, napiš rozsahy buněk a vzorce upravím.

PS: sem zvědaví, jestli někdo přijde s jiným řešením. Nic jednoduššího mě totiž nenapadlo.

Problém jsou ty hodnoty #N/A. Takže:

1. vytvoř si pomocnou buňku - např. G1 - v níž bude maticový vzorec:

=MAX(KDYŽ(JE.ČISLO(C:C);C:C))

(maticový vozrec z toho dostaneš tak, že po vložení nestikneš samotný ENTER, ale kombinaci CTRL+SHIFT+ENTER).

2. Do buňky G2 napiš vozrec:

=SVYHLEDAT(G1;C:D;2;0)

No a tam se Ti bude načítat hodnota ze sloupce D, odpovídající nejvyšší hodnotě ve sloupci C.

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