Hirdetés

Keresés

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

  • Mutt

    senior tag

    válasz föccer #54672 üzenetére

    Szia,

    Milyen Excel verziód van? Van Python gombod képletek menüben?
    Milyen gyakran frissülnek a verziószámok?
    Jelenleg nagyon sok adatban keres a képlet, miközben lehet hogy alig volt változás.
    Amin el lehetne gondolkodni, hogy mondjuk az Excel megnyitásakor egy Power Query/Pivot segítségével meghatároznánk a receptekhez tartozó legutolsó verziószámot (ez egy keresési tábla lenne) és az egy FKERES/XKERES-el raknánk be a táblába. Ha szükséges menetközben kézzel lehet frissíteni keresési táblát.

    Az 54653-asban mutatott képlethez pár ötlet:
    1) Többször használod ugyanazt a feltételt az A és B oszlopokra. Beszíneztem párszor.

    A LET-et erre vezették be, ha van akkor érdemes használni. Ha nincs akkor lehet hogy jobb lenne a munkalapon ennek a képletnek az eredményét tárolni.

    2) A HAHIBA elhagyható, ha a SZŰRŐ-nek használod a 3. opcióját, üres esetén mit adjon vissza.

    3) A SORBA.RENDEZ és EGYEDI megoldható egy lépésben is MS365-ben, elméletben gyorsabb. CSOPORTOSÍTAS.ALAP.SZERINT függvényt lehetne kipróbálni.
    =CSOPORTOSÍTÁS.ALAP.SZERINT(FÜGG.HALMOZÁS(<lista>);;;0;0)

    Itt valójában csak az első paramétert adjuk meg, a többit üresen hagyjuk, illetve a 0-val nem kérünk plusz mezőket.

    4) Mivel a szűrőkben ugyanazon feltételeket használod ezért kipróbálhatod, hogy csak 1 db szűrőd van: SZŰRŐ(OSZLOPVÁLASZTÁS(L2:AG100000;1;4;7;10;13;16;19;22);feltétel)

    Ahol a feltétel az amit az 1-es pontban említettem. Ez esetben nem szűrűnk üres értékekre. A kapott oszlopokat ez esetben egymásra kell halmoznunk, ami bonyolítja a dolgot. Ha nem kell dinamikusan csinálni, akkor ennyi:
    =LET(talalatok;SZŰRŐ(<ide jön amit fentebb írtunk>);
    eredmeny;FÜGG.HALMOZÁS(OSZLOPVÁLASZTÁS(talalatok;1);OSZLOPVÁLASZTÁS(talalatok;2);<további oszlopok);
    SORBA.RENDEZ(EGYEDI(eredmeny)))

    üdv

  • föccer

    nagyúr

    válasz föccer #54672 üzenetére

    No, amire leírtam végig is gondoltam.

    SORBA.RENDEZ(EGYEDI())-vel készítettem egy gyűjtést a receptszámokról és mellé MAXHA-val kikerestem hogy melyik recepthez melyik a legnagyobb verziószám. A kérdéses tömbben soronként kerestem be fkeressel a leganagyobb verrziót, amit simán HA feltétellen ellenőríztem. Így nincs tömbkezelés, illetve csak minimális. Az fkeres azég gyors. A MAXHA pediglen védve van még egy HA(BQ="";"";MAXHA()) feltétellel, így az sem fog feleslegesen keresni ha az előszűrő miatt a 100.000 sor helyett csak néhány ezer sor van a tömbben.

    Köszönöm a figyelmet :R :DDD

    föccer

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