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

Předmět Autor Datum
panebože, to snad ani není možné. říká ti něco kontingenční tabulka? nový
touchwood 08.06.2015 08:07
touchwood
neni to ta nahodou neco v excelu? samozrejme ze rika. jenze za 1 nevim, jak bych to pomoci KT udelal… nový
mayerrs 08.06.2015 08:48
mayerrs
takže kontingenční tabulka ti opravdu nic neříká.. edit: ale pokud se s tím chceš srát, místo elega… nový
touchwood 08.06.2015 09:27
touchwood
rad si necham poradit, jak to udelat kontingenci. ono to jde udelat tak, aby se to podivalo do vsech… nový
mayerrs 08.06.2015 09:37
mayerrs
Právě proto jsem ti psal, že kontingence je daleko lepší řešení. Ale chceš vzoreček, tak tady ho má… nový
touchwood 08.06.2015 10:15
touchwood
myslenku to ma, ale asi tomu neco malo chybi. na obrazku mas v F2 hodnotu 735, ale v datumovem rozpe… nový
mayerrs 08.06.2015 10:52
mayerrs
máš nákup a prodej, ne? Však si to vyzkoušej sám, návod máš ;-) (edit: pořadí výsledků je prohozené… nový
touchwood 08.06.2015 10:55
touchwood
i tak tam neco hapruje - kdyz zadam mimo rozpeti datumu treba 1000, tak bez ohledu na datumy to vypi… nový
mayerrs 08.06.2015 11:16
mayerrs
touchwoode, vzdycky jsi mi dobre radil - co nechat te ironie - aspon doufam, ze to je ironie - a ji… nový
mayerrs 08.06.2015 09:48
mayerrs
Vyřešit vzorcem to samozřejmě jde. Za výše uvedeného předpokladu obsazení sloupců a obsazení řádků o… nový
MachR55 08.06.2015 10:06
MachR55
:-) funguje dobre, tohle bych dohromady nedal!! diky moc! nový
mayerrs 08.06.2015 10:52
mayerrs
akorát to při velkých objemech dat bude dělat "šneka". nový
touchwood 08.06.2015 10:57
touchwood
to je pravda, to uz jsem zjistil.. nový
mayerrs 08.06.2015 11:45
mayerrs
tak vyreseno, odladeno, ani to nehazi sneka. kdyz mam pripravena vsechna data a naposled pridam vzor… nový
mayerrs 08.06.2015 15:07
mayerrs
muzu se jeste zeptat, jak udelat minimum? zjistil jsem, ze jednoduchou zamenou MIN za MAX ve vzorci… nový
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… nový
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

neni to ta nahodou neco v excelu? samozrejme ze rika. jenze za 1 nevim, jak bych to pomoci KT udelal hromadne a za 2, pro vec kterou delam mi prijde vhodnejsi vzorec ikdybych tohle v KT umel udelat. zadam rozpeti a vyjde cislo. a tech rozpeti mam 100ky. kontingencni tabulka mi pro to neprijde vhodna, krome toho fakt nevim, jak tohle v ni udelat!

mozna vzniklo nedorozumeni proto, ze:

ta zdrojova data jsou den po dni. kazdy pracovni den, to znamena, ze ten vzorec musi projit rozpeti. prikladam ukazku. snad to bude nazornejsi.

Datum Nákup Prodej Datum od Datum do Vysledek nakup Vysledek prodej
3.1.2000 615 741 4.1.2000 19.1.2000
4.1.2000 718 720 6.1.2000 15.2.2000
5.1.2000 700 708
6.1.2000 698 708
7.1.2000 702 729
10.1.2000 731 735
11.1.2000 729 730
12.1.2000 723 723
13.1.2000 722 729
14.1.2000 733 737
18.1.2000 727 733
19.1.2000 727 735
20.1.2000 735 735
21.1.2000 728 728
24.1.2000 728 729
25.1.2000 703 710
26.1.2000 705 708
27.1.2000 709 711
28.1.2000 697 700
31.1.2000 679 698
1.2.2000 699 708
2.2.2000 706 711
3.2.2000 704 716
4.2.2000 716 720
7.2.2000 713 714
8.2.2000 720 723
9.2.2000 722 722
10.2.2000 708 713
11.2.2000 709 710
14.2.2000 699 699
15.2.2000 696 706
16.2.2000 702 705
17.2.2000 702 702
18.2.2000 694 694
22.2.2000 676 682
23.2.2000 678 687
24.2.2000 683 685
25.2.2000 676 684
28.2.2000 667 683
29.2.2000 680 687

takže kontingenční tabulka ti opravdu nic neříká..

edit: ale pokud se s tím chceš srát, místo elegantního použií kontingence, můžeš si pohrát s DMAX.

edit2: doufám, že si do svého CV nepíšeš položku "znalost MS Office" :-)

rad si necham poradit, jak to udelat kontingenci. ono to jde udelat tak, aby se to podivalo do vsech datumu v danem obdobi? jak? ani s DMAX nevim jak to udelat. pro me je problem to, ze nevim, jak mu zadat to obdobi, do ktereho se podivat. jak oznacit, ze je to treba 40 nebo 200 datumu a z tohe ze musi vybrat to nejvyssi. notabene kdyz tech obdobi jsou radove stovky.

touchwoode,

vzdycky jsi mi dobre radil - co nechat te ironie - aspon doufam, ze to je ironie - a jit k veci. jsem fakt zvedav, jestli tohle dokazes vyresit nebo ne. moje CV nechme stranou;-) a pojdme se bavit konstruktivne. excel /asi/ umis lip nez ja, tak pomuzes mi s tim pohnout? podotykam, ze bych radsi vzorec, ale jestli nemas na nej chvilku, nepohrdnu ani kontingenci - kdyz bude fungovat tak, aby dostala potrebna hromadna data.

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