Výuka a školení Excelu Výuka a školení Excelu Výuka a školení Excelu
Výuka a školení Excelu Výuka a školení Excelu

neděle 5. srpna 2012

Použití funkce VLOOKUP / SVYHLEDAT pro interval

Příklad

Mám k dispozici výsledky testů několika žáků. Mohli dosáhnout 0-500 bodů. Podle toho, kolik bodů dosáhli, dostanou známku. Do sta bodů je to pětka, mezi sto a dvě stě bodů čtyřka atd.
Výslednou známku chci přiřadit automaticky.

Návod

Připravím si v jedné tabulce seznamy žáků s body a ve druhé intervaly a známky. Pak k prvnímu žákovi napíšu tento vzorec:
=SVYHLEDAT(A2;$E$2:$F$6;2;1)
  • A2 - počet bodů tohoto žáka
  • $E$2:$F$6 - oblast s tabulkou, ve které mám rozdělení známek a intervalů
  • 2 - v tabulce se známkami a intervaly jsou ve druhém sloupečku hodnoty, které chci získat
  • 1 - nechci, aby excel hledal přesné hodnoty (protože skoro žádný z žáků neměl přesně 0,100,200,300 ani 400 bodů), ale chci, aby vyhledal nejbližší nižší hodnotu - tedy např. pro 121 vyhledá nejbližší hodnotu 100 a přiřadí 4. V tomto se to odlišuje od běžného (neintervalového) použití SVYHLEDAT
    http://www.excelentnitriky.com/2010/02/svyhledat-vvyhledat-vlookup-slookup.html
A pak už jen roztáhnu na další buňky. Výsledek vypadá takto:
















Poznámky:

8 komentářů:

  1. ...ale pokud dosáhne student 121 bodů, bude mít dvojku (2), něco tu nesedí

    OdpovědětVymazat
  2. ...jinak stránky jsou super, děkuji za ně moc :-)

    OdpovědětVymazat
  3. ...tak to jsem spletla chtěla jsem napsat, že bude mít čtyřku a ne pětku...

    OdpovědětVymazat
  4. Student se 121 bude mít čtyřku - to je v pořádku, ne?
    Jinak jsem rád že stránky se líbí :)
    J.

    OdpovědětVymazat
  5. ...no prave, ze v textu je uvedeno, ze dostane za 5.

    OdpovědětVymazat
  6. Ahaaaa!
    Díky za info, opravil jsem.

    OdpovědětVymazat
  7. Dobrý den, snad se neptám na něco co jsem jen přehlédl. Snažím se udělat nějak "elegantně" vzorec, který mne jako výsledek vyhodí hodnotu na základě dvou proměnných. Mám tabulku, která říká že výsledek z je tehdy když x je z intervalu x-x a y z intervalu y-y. Zatím jsem přišel jen na moře vložených funkcí if. Kdy se ptám nejprve postupně jestli je x v prvním, druhém, nebo třetím intervalu a pak teprve jestli y je v prvním, druhém, nebo třetím intervalu. Což v praxi znamená if(x>x3;(if(y>y3;z9;(if(y>y2;z8;z7))));x>x2;(if(y>y3;z6;(if(y>y2;z5;z4))));(if(y>y3;z3;(if(y>y2;z2;z1))))). To není zrovna ideální zápis. velmi jednoduše se v něm člověk ztratí a představa že za půl roku se v něm budu hrabat, abych něco upravil..... to si ho v tu chvíli raději vytvořím znovu od začátku. Krom toho v reálu mám intervalů pro x 5 a pro y 4.

    OdpovědětVymazat
  8. A ještě bych měl jednu otázku. Rád bych si vytvořil něco jako filtr, seznam, či tak něco. Co to má dělat. Mám několik, jak to nazvat, třeba kategorií. Každá kategorie využívá trochu jiné vstupy (do vstupů napíšu hodnoty a v dalších buňkách se provede příslušný výpočet, to už je ale jiná problematika, kterou vyřešit není problém). Chtěl bych si tedy v nějakém seznamu vybrat kategorii, a dle té aby se zobrazilo několik buněk, do kterých napíšu vstupy. Různé kategorie mají různé vstupy, některé vstupy jsou použité i pro různé kategorie. Tedy jednoduchý filtr tady moc nepomůže. To bych musel vstupy použité ve vícero kategoriích napsat tolikrát, v kolika kategoriích je použiju, a ke každému vstupu napsat konkrétní kategorii. Ve filtru bych si vybral kategorii a ono by to zobrazilo příslušné vstupy. To není zrovna elegantní řešení a v dalším výpočtu by to krapet zkomplikovalo situaci. Dejme tomu, že mám kategorie A, B, C, D. Při výběru kategorie A chci aby se mne zobrazily buňky A3:B3, A4:B4 a A5:B5. Při býběru kategorie B chci zobrazit A3:B3, A4:B4 a A6:B6. atd. snad je to takto pochopitelnější. Dokáže toto excel nějak jednoduše? Výběrem v jediném seznamu, kde si jen vyberu A, B, C nebo D? Dříve jsem to dělal podmíněným formátováním.Což mne jen zvýraznilo dané buňky, ale ostatní stále zůstávaly viditelné, jen nezvýrazněné. Tedy uživatelská přívětivost nulová.

    OdpovědětVymazat