
Splošna formula
=LOOKUP(2,1/(ISNUMBER(FIND(filename,range))),range)
Povzetek
Za iskanje najnovejše različice datoteke na seznamu lahko uporabite formulo, ki temelji na funkciji LOOKUP, skupaj s funkcijama ISNUMBER in FIND. V prikazanem primeru je formula v celici G7:
=LOOKUP(2,1/(ISNUMBER(FIND(G6,files))),files)
kjer je "datoteke" imenovani obseg B5: B11.
Kontekst
V tem primeru imamo v tabeli številne različice datotek z datumom in uporabniškim imenom. Upoštevajte, da se imena datotek s števcem na koncu ponovijo kot številka revizije - 001, 002, 003 itd.
Glede na ime datoteke želimo pridobiti ime zadnje ali najnovejše revizije. Izziva sta dva:
- Izziv so kode različic na koncu imen datotek, ki otežujejo ujemanje imena datoteke.
- Formule za ujemanje v Excelu privzeto vrnejo prvo in ne zadnje ujemanje.
Da bi te izzive premagali, moramo uporabiti nekaj zapletenih tehnik.
Pojasnilo
Ta formula uporablja funkcijo LOOKUP za iskanje in pridobivanje zadnjega ujemajočega se imena datoteke. Vrednost iskanja je 2 in lookup_vector se ustvari s tem:
1/(ISNUMBER(FIND(G6,files)))
Funkcija FIND znotraj tega delčka išče vrednost v G6 znotraj imenovanega obsega "datoteke" (B5: B11). Rezultat je matrika, kot je ta:
(1;#VALUE!;1;1;#VALUE!;#VALUE!;1)
Tu številka 1 predstavlja ujemanje, napaka #VALUE pa neustrezno ime datoteke. Ta matrika gre v funkcijo ISNUMBER in izide tako:
(TRUE;FALSE;TRUE;TRUE;FALSE;FALSE;TRUE)
Vrednosti napak so zdaj FALSE in številka 1 je zdaj TRUE. To premaga izziv št. 1, zdaj imamo matriko, ki jasno prikazuje, katere datoteke na seznamu vsebujejo ime datoteke, ki nas zanima.
Nato se matrika uporablja kot imenovalec z 1 kot števec. Rezultat je videti takole:
(1;#DIV/0!;1;1;#DIV/0!;#DIV/0!;1)
ki gre v LOOKUP kot lookup_vector. To je zapletena rešitev za izziv št. 2. Funkcija LOOKUP deluje samo v načinu približnega ujemanja in samodejno prezre vrednosti napak. To pomeni, da bo z iskalno vrednostjo 2 VLOOKUP poskusil najti 2, odpovedati in se vrniti na prejšnjo številko (v tem primeru se ujema z zadnjo enoto na položaju 7). Končno, LOOKUP uporablja 7 kot indeks, da pridobi 7. datoteko s seznama datotek.
Ravnanje s praznimi iskanji
Nenavadno funkcija FIND vrne 1, če je iskalna vrednost prazen niz (""). Za zaščito pred lažnim ujemanjem lahko formulo zavijete v IF in preizkusite prazno iskanje:
=IF(G6"",LOOKUP(2,1/(ISNUMBER(FIND(G6,files))),files),"")