Excel képlet: Utolsó fájlverzió keresése -

Á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:

  1. 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.
  2. 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),"")

érdekes cikkek...