Hirdetés

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

  • Fehér Mancs

    tag

    válasz mdk01 #2309 üzenetére

    A probléma az, hogy az FKERES mindig az első találatból indul ki.

    Két megoldást tudok javasolni.
    Egyik, ha tudsz saját függvényt írni a macronál, akkor azzal lehetne szabályozni, hogy a korrigált FKERES az általad sorszámként megadott egyezőséghez keresse ki az értéket.

    Másik az lehet, hogy azt az FKERES keresési listáját hekkeled meg:
    Az első függvény marad az eredeti H5=FKERES($K$2;$B$6:$D$10;3;0)
    a többi függyvények pedig az előző találatokra hivatkoznak: H6=FKERES($K$2;OFSZET($B$5;HOL.VAN(H5;$D$6:$D$10;0)+1;0;1000;1);3;0), ezt lehúzva az általa várt eredmény születik. A probléma csak ott lehet, ha egy érték többször is szerepel a listádban, ilyenkor egy ciklusba kerül a függyvény.

    A lényege ennek, hogy az OFSZET egy cellatartományt ad vissza (mintha manuálisan jelölnéd ki), ami a B5 mezőtől lefelé csúsztatva annyi sorral kezdődik, mint amelyikben megtalálta (HOL.VAN függvény) az FKERES előző eredményét. Figyelni kell arra is, hogy az OFSZET függvény utolsó előtti paramétere (jelen esetben 1000) azt határozza meg, hogy hány sor magas oszlopba keresse az adott értéket, így azt megéri akkorára állítani, hogy mindenképpen beleférjen az összes (de vigyázni arra, hogy az excel sorkorlátját ne lépje túl). Az OFSZET utolsó paramétere pedig az oszlopszámot határozza meg, így annak meg kell egyeznie az FKERES-ben használt oszlopszámmal.

    (Ha a lehúzás után keletkező hibákat (#N/A) el akarod rejteni, akkor a =HA(HIBÁS(függvény);'''';függvény) függvénnyel meg lehet ezt oldani.)

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