
excel - něco jako svyhledat..
ahoj vsem,
rad bych se poradil ohledne vyhledavani v excelu. oc jde:
Sloupec A - Datum
Sloubec B - Nakup (pocet vyrobku)
Sloupec C - Prodej (pocet vyrobku)
Sloupec E - Datum od
Sloupec F - Datum do
Sloupec G - Vysledek Nakup
Sloupce H - Vysledek Prodej
Sloupce A az C maji x.set radku a jsou v nich zdrojova data
Sloupce E a F maji desitky a desitky az stovky radku a jsou to podminky pro vyhledavani. Jsou to casova rozpeti. Napriklad v E2 je 1.1.2015 a v F2 je 10.2.2015.
A ja potrebuji, aby ve sloupci G a H byl vzorecek, ktery se na zaklade datumu z E a F podiva do zdrojovych dat a v tomto datumovem rozpeti vyhleda nejvyssi hodnotu pro nakup a do druheho sloupce nejvyssi pro prodej.
Jelikoz tech dat je spousta, rad bych si to zautomatizoval. Uz jich je tolik, ze jednoduche oznaceni oblasti a podivani se je neproduktivni. Je na case to vyresit automatizovane. Nejak se mi nedari to udelat vzorcem, ale dobre vim, ze zde jsou lepsi machri na excel nez ja. Pokud vas napadne jak to udelat, budu moc rad..
Diky vsem!!
Vyřešit vzorcem to samozřejmě jde. Za výše uvedeného předpokladu obsazení sloupců a obsazení řádků od 2 do 100 napiš do buněk:
Jde o maticové vzorce, takže editaci musíš ukončit CTRL+SHIFT+ENTER
Takto zapsané vzorce už můžeš rozkopírovat do dalších řádků ve sloupcích G a H dle obsazenosti podmínek ve sloupcích E a F.
Ta vnořená podmínka IF vrací 0 v případě, že datum leží mimo zadaný interval a 1 pokud leží uvnitř intervalu. Tuto jedničku či nulu násobím s odpovídajícím řádkem nákupu či prodeje, čímž se vynulují všechny hodnoty, ležící mimo interval. No a z těch zbývajících už funkcí MAX vyberu požadované maximum.
diky moc!
akorát to při velkých objemech dat bude dělat "šneka".
to je pravda, to uz jsem zjistil..
tak vyreseno, odladeno, ani to nehazi sneka. kdyz mam pripravena vsechna data a naposled pridam vzorec, tak je projede jedna basen.
vyreseno, diky moc!!
muzu se jeste zeptat, jak udelat minimum? zjistil jsem, ze jednoduchou zamenou MIN za MAX ve vzorci se minimum nenaslo..
Můžeš vyzkoušet, bohužel netuším jak to bude s rychlostí. Pravděpodobně se to povleče jak smrad.
Funguji dobre a zatim se zda, ze rychlost je dostacujici
Diky moc!
Len pár poznámok:
- Pri spájaní podmienok sa dá použiť funkcia A - nie je potrebné robiť vnorené KDYŽ.
- Hodnota NEPRAVDA neovplyvňuje výsledok funkcie MIN a MAX, takže posledný argument vo funkcii KDYŽ je možné úplne vynechať (čo je to isté, ako keby tam bola NEPRAVDA).
Takže maticový vzorec môže vyzerať takto jednoducho aj pre MIN a aj pre MAX:
Vyzkousel jsem a nevim proc, ale nebero to ohled na datumove rozpeti. Vezme to MIN z celeho sloupce bez ohkedu na datumy. Uz s jednim vzorcem jsem se s tim setkal a nevim proc to dela..
Aha, funkcia A nefunguje v maticových vzorcoch, takže by to muselo vyzerať takto:
No, to jsem samozřejmě zkusil jako první, měl jsem to přesně takto, ale bohužel to nefungovalo. Respektive - nejprve jsem to měl uděláno jen pro čísla, tam to fungovalo, ale když jsem to přenesl na datumový formát, fungovat to přestalo. Chvíli jsem s tím zkoušel čarovat, ale nic nezabíralo, tak jsem přešel na vnořené IF.
jak si mi dal tenhle vzorec:
H2: =MAX(KDYŽ($A$2:$A$100>=E2;KDYŽ($A$2:$A$100<=F2;1;0 );0)*$C$2:$C$100)
zkousel jsem zamenit MIN za MAX abych dostal minimalni hodnotu, ale presto porad bere MAX. jak je mozne tohle?
=MIN(KDYŽ($A$2:$A$100>=E2;KDYŽ($A$2:$A$100<=F2;1;0 );0)*$C$2:$C$100)
tenhle vzorec mi stale bere MAX hodnotu..