Vzorec programu Excel: Vyhľadanie poslednej verzie súboru

Všeobecný vzorec

=LOOKUP(2,1/(ISNUMBER(FIND(filename,range))),range)

Zhrnutie

Na vyhľadanie najnovšej verzie súboru v zozname môžete použiť vzorec založený na funkcii LOOKUP spolu s funkciami ISNUMBER a FIND. V zobrazenom príklade je vzorec v bunke G7:

=LOOKUP(2,1/(ISNUMBER(FIND(G6,files))),files)

kde „súbory“ je pomenovaný rozsah B5: B11.

Kontext

V tomto príklade máme niekoľko verzií súborov uvedených v tabuľke s dátumom a menom používateľa. Upozorňujeme, že názvy súborov sa opakujú s počítadlom na konci ako číslom revízie - 001, 002, 003 atď.

Vzhľadom na názov súboru chceme získať názov poslednej alebo najnovšej verzie. Existujú dve výzvy:

  1. Výzvou sú kódy verzií na konci názvov súborov, ktoré sťažujú zhodu názvu súboru.
  2. V predvolenom nastavení vráti vzorce zhody Excel prvú zhodu, nie poslednú zhodu.

Na prekonanie týchto výziev musíme použiť niektoré zložité techniky.

Vysvetlenie

Tento vzorec využíva funkciu LOOKUP na vyhľadanie a získanie posledného zhodného názvu súboru. Hodnota vyhľadávania je 2 a vyhľadávací_vektor sa vytvorí pomocou tohto:

1/(ISNUMBER(FIND(G6,files)))

Vo vnútri tohto úryvku funkcia FIND vyhľadáva hodnotu v G6 vo vnútri pomenovaného rozsahu „súbory“ (B5: B11). Výsledkom je pole ako je toto:

(1;#VALUE!;1;1;#VALUE!;#VALUE!;1)

Číslo 1 tu predstavuje zhodu a chyba #HODNOTA predstavuje nezhodný názov súboru. Toto pole vstupuje do funkcie ISNUMBER a vychádza takto:

(TRUE;FALSE;TRUE;TRUE;FALSE;FALSE;TRUE)

Chybové hodnoty sú teraz FALSE a číslo 1 je teraz TRUE. Toto prekoná výzvu č. 1, teraz máme pole, ktoré jasne ukazuje, ktoré súbory v zozname obsahujú požadovaný názov súboru.

Ďalej sa pole použije ako menovateľ a 1 ako čitateľ. Výsledok vyzerá takto:

(1;#DIV/0!;1;1;#DIV/0!;#DIV/0!;1)

ktorý ide do LOOKUPU ako vyhľadávací_vektor. Toto je zložité riešenie výzvy č. 2. Funkcia LOOKUP funguje iba v režime približnej zhody a automaticky ignoruje chybové hodnoty. To znamená, že s 2 ako vyhľadávacou hodnotou sa VLOOKUP pokúsi nájsť 2, zlyhá a vráti sa k predchádzajúcemu číslu (v tomto prípade sa zhoduje s posledným 1 na pozícii 7). Nakoniec, LOOKUP použije 7 ako index na získanie 7. súboru v zozname súborov.

Spracovanie prázdnych vyhľadávaní

Zvláštne je, že funkcia FIND vráti 1, ak je vyhľadávacou hodnotou prázdny reťazec („“). Aby ste sa vyhli nesprávnej zhode, môžete vzorec zabaliť do IF a otestovať prázdne vyhľadávanie:

=IF(G6"",LOOKUP(2,1/(ISNUMBER(FIND(G6,files))),files),"")

Zaujímavé články...