
Általános képlet
=LOOKUP(2,1/(ISNUMBER(FIND(filename,range))),range)
Összegzés
A legfrissebb fájlverzió listában történő megkereséséhez használhatja a LOOKUP függvényen alapuló képletet az ISNUMBER és a FIND függvényekkel együtt. A bemutatott példában a G7 cellában szereplő képlet a következő:
=LOOKUP(2,1/(ISNUMBER(FIND(G6,files))),files)
ahol a "fájlok" a B5: B11 megnevezett tartomány.
Kontextus
Ebben a példában számos fájlverzió van felsorolva egy táblázatban, dátummal és felhasználónévvel. Ne feledje, hogy a fájlneveket a számláló a végén megismétli, mint revíziószám - 001, 002, 003 stb.
Adott fájlnévnek szeretnénk beolvasni az utolsó vagy a legújabb verzió nevét. Két kihívás van:
- A kihívás az, hogy a fájlnevek végén található verziókódok megnehezítik a fájlnév egyeztetését.
- Alapértelmezés szerint az Excel egyezési képletei az első, nem az utolsó egyezést adják vissza.
E kihívások leküzdéséhez néhány trükkös technikát kell alkalmaznunk.
Magyarázat
Ez a képlet a LOOKUP függvényt használja az utolsó megfelelő fájlnév megkeresésére és lekérésére. A keresési érték 2, és a keresési_vektor ezzel jön létre:
1/(ISNUMBER(FIND(G6,files)))
Ebben a részletben a FIND függvény a G6-ban lévő értéket keresi a megnevezett "fájlok" tartományon belül (B5: B11). Az eredmény egy ilyen tömb:
(1;#VALUE!;1;1;#VALUE!;#VALUE!;1)
Itt az 1-es szám egyezést, a # ÉRTÉK hiba pedig nem egyező fájlnevet képvisel. Ez a tömb belép az ISNUMBER függvénybe, és így jön ki:
(TRUE;FALSE;TRUE;TRUE;FALSE;FALSE;TRUE)
A hibaértékek most FALSE, és az 1-es szám most IGAZ. Ez legyőzi az 1. kihívást, most már van egy tömbünk, amely világosan megmutatja, hogy a lista mely fájljai tartalmazzák az érdekes fájlnevet.
Ezután a tömböt használjuk nevezőnek, az 1-et pedig számlálóként. Az eredmény így néz ki:
(1;#DIV/0!;1;1;#DIV/0!;#DIV/0!;1)
amely a keresésvektorként megy a LOOKUP-ba. Ez egy trükkös megoldás a 2. kihívásra. A LOOKUP funkció csak hozzávetőleges egyezési módban működik, és automatikusan figyelmen kívül hagyja a hibaértékeket. Ez azt jelenti, hogy ha a 2 mint keresési érték, akkor a VLOOKUP megpróbálja megtalálni a 2-et, meghiúsulni és visszalépni az előző számhoz (ebben az esetben illeszkedik az utolsó 1-hez a 7. pozícióban). Végül a LOOKUP a 7-hez hasonlóan indexet használ a 7. fájl lekéréséhez a fájlok listáján.
Üres keresések kezelése
Furcsa módon a FIND függvény értéke 1, ha a keresési érték üres karakterlánc (""). A hamis egyezés elkerülése érdekében becsomagolhatja a képletet IF-be, és tesztelheti az üres keresést:
=IF(G6"",LOOKUP(2,1/(ISNUMBER(FIND(G6,files))),files),"")