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

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Vyřešit vzorcem to samozřejmě jde. Za výše uvedeného předpokladu obsazení sloupců a obsazení řádků o…
MachR55 08.06.2015 10:06
MachR55
muzu se jeste zeptat, jak udelat minimum? zjistil jsem, ze jednoduchou zamenou MIN za MAX ve vzorci…
mayerrs 08.06.2015 15:26
mayerrs
Můžeš vyzkoušet, bohužel netuším jak to bude s rychlostí. Pravděpodobně se to povleče jak smrad. =M…
Siki83 08.06.2015 22:45
Siki83
Funguji dobre a zatim se zda, ze rychlost je dostacujici:-) Diky moc! nový
mayerrs 09.06.2015 07:44
mayerrs
Len pár poznámok: - Pri spájaní podmienok sa dá použiť funkcia A - nie je potrebné robiť vnorené KDY… nový
los 08.06.2015 23:35
los
Vyzkousel jsem a nevim proc, ale nebero to ohled na datumove rozpeti. Vezme to MIN z celeho sloupce… nový
mayerrs 09.06.2015 07:45
mayerrs
Aha, funkcia A nefunguje v maticových vzorcoch, takže by to muselo vyzerať takto: =MIN(KDYŽ(($A$2:$… nový
los 09.06.2015 09:30
los
No, to jsem samozřejmě zkusil jako první, měl jsem to přesně takto, ale bohužel to nefungovalo. Resp… nový
MachR55 09.06.2015 09:22
MachR55
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$10… poslední
mayerrs 09.06.2015 09:34
mayerrs

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:

G2:  =MAX(KDYŽ($A$2:$A$100>=E2;KDYŽ($A$2:$A$100<=F2;1;0);0)*$B$2:$B$100)
H2:  =MAX(KDYŽ($A$2:$A$100>=E2;KDYŽ($A$2:$A$100<=F2;1;0);0)*$C$2:$C$100)

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.

Můžeš vyzkoušet, bohužel netuším jak to bude s rychlostí. Pravděpodobně se to povleče jak smrad.

=MIN(KDYŽ((KDYŽ($A$2:$A$100>=E2;KDYŽ($A$2:$A$100<=F2;1;0);0)*$B$2:$B$100)<>0;(KDYŽ($A$2:$A$100>=E2;KDYŽ($A$2:$A$100<=F2;1;0);0)*$B$2:$B$100)))
=MIN(KDYŽ((KDYŽ($A$2:$A$100>=E2;KDYŽ($A$2:$A$100<=F2;1;0);0)*$C$2:$C$100)<>0;(KDYŽ($A$2:$A$100>=E2;KDYŽ($A$2:$A$100<=F2;1;0);0)*$C$2:$C$100)))

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:

=MIN(KDYŽ(A($A$2:$A$100>=E2;$A$2:$A$100<=F2);$B$2:$B$100))

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

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