Keresés

Új hozzászólás Aktív témák

  • Mutt

    senior tag

    válasz BullZeye #38091 üzenetére

    Szia,

    Egy kis segítség a megértéshez:
    - az INDEX függvény van kívül, ami vár egy tartományt és abból az adott pozícióban lévő elemet adja vissza, pl. a B-oszlop 4-ik elemét,
    - a belső függvény ami próbálja megmondani hogy hanyadik elemről van szó.

    A függvény alapja, az hogy a cikklistában lévő értékeket megfelelő formátumra hozzuk (csonkoljuk az első aláhúzásig) és azt összehasonlítjuk a keresési szöveggel.

    Ha csak A1-ben lenne cikklista, akkor a BAL(A1;SZÖVEG.TALÁL("_";A1)) rész az "alma_1234"-ből "alma_" -t adna vissza.
    Mivel nekünk nem csak 1 db cikkünk van, ezért BAL(A1:A10;SZÖVEG.TALÁL("_";A1:A10)) résszel egyszerre több cellán végezzük el a fenti átalakítást. Azonban a BAl/SZÖVEG.TALÁL csak 1 bemeneti értékkel műkődik. Mivel mi most egyből 10 db-ot adtunk neki ez már tömb (array) művelet, ha ilyet akarunk csinálni akkor Ctrl+Shift+Enter-t kell nyomni a bevitel után, hogy az Excel tudja hogy szándékosan adtunk meg több értéket és mindegyiken kérjük a művelet elvégzését. Az eredmény egy tömb lesz: {"narancs_";"alma_";"alma_";"barack_";"banan_";"dinnye_";"alma_";"eper_"}.

    Megvan a csonkolt szöveg, már csak össze kell hasonlítani a kereső kifejezéssel, erre van a =BAL(D2;HOSSZ(D2)-6));1) rész utánna. Ez a tömb összes elemén végigmegy és IGAZ/HAMIS eredményt fog visszaadni. Vhogy így: {HAMIS;IGAZ;IGAZ;HAMIS;HAMIS;HAMIS;IGAZ;HAMIS}

    A képletben van a két gondolatjel, ami valójában kettős tagadás és felesleges is (törölhető gond nélkül). Egy tagadás egy számból az ellentétes előjelű változatát csinálja, a két tagadás az eredeti számot adja vissza. A HAMIS-ból 0-t, az IGAZ-ból pedig 1-et csinál. A fentiből ez lesz: {0;1;1;0;0;0;1;0}.

    A SOR(A5) képlet a cella sorszámát adja vissza, a SOR(A1:A10) pedig egy szép listát azokról a sorokról, ahol a cikkszámok találhatóak, esetünkben 1-10-ig.
    Ha ezt a sorszámot elosztjuk a fent kapott 0 és1-et tartalmazó tömbbel, akkor csak azok a sorszámok maradnak meg ahol találatunk van, a többi ZÉRÓOSZTÓ hibát ad vissza. Vmi ilyet: {#DIV/0!;3;4;#DIV/0!;#DIV/0!;#DIV/0!;8;#DIV/0!}

    A végére maradt ÖSSZESÍT(14;6;<fenti eredmény>;1) rész, amiből a 14 a NAGY függvény kódja, a súgóban látható a többi is. A 6-os egy olyan paraméter amely azt mondja a függvénynek hogy a hibás értékeket (pl. a ZÉRŐOSZTÓ) hagyja figyelmen kívül, vagyis ez marad meg {3,4;8}.
    A végén az 1-es pedig azt mondja meg hogy a legnagyobb értéket kérjük vissza. Az eredményünk 8, ami azt jelenti hogy a 8-as sorban van ami kell nekünk, az INDEX pedig ki is írja.

    Az ÖSSZESÍT függvény a kevés függvények egyike ahol a tömbképletet nem kell Ctrl+Shift+Enter-rel bevinni.

    üdv

Új hozzászólás Aktív témák

Hirdetés