„Excel“ formulė: Ieškoti paskutinės failo versijos -

Bendroji formulė

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

Santrauka

Norėdami ieškoti naujausios failo versijos sąraše, galite naudoti formulę, pagrįstą funkcija LOOKUP kartu su funkcijomis ISNUMBER ir FIND. Parodytame pavyzdyje formulė langelyje G7 yra:

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

kur „failai“ yra pavadintas diapazonas B5: B11.

Kontekstas

Šiame pavyzdyje turime keletą failų versijų, nurodytų lentelėje su data ir vartotojo vardu. Atkreipkite dėmesį, kad failų pavadinimai pakartojami skaitikliu pabaigoje kaip pakeitimo numeris - 001, 002, 003 ir kt.

Atsižvelgdami į failo pavadinimą, norime gauti paskutinės ar paskutinės versijos pavadinimą. Yra du iššūkiai:

  1. Iššūkis - failų pavadinimų pabaigoje esantys versijų kodai apsunkina failo pavadinimo derinimą.
  2. Pagal numatytuosius nustatymus „Excel“ atitikties formulės grąžins pirmąją, o ne paskutinę atitiktį.

Norėdami įveikti šiuos iššūkius, turime naudoti keletą keblių metodų.

Paaiškinimas

Ši formulė naudoja funkciją LOOKUP, kad surastų ir gautų paskutinį atitinkantį failo pavadinimą. Paieškos vertė yra 2, o paieškos_vektorius sukurtas taip:

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

Šio fragmento viduje funkcija FIND ieško G6 vertės pavadintame diapazone „failai“ (B5: B11). Rezultatas yra toks masyvas:

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

Čia skaičius 1 reiškia atitiktį, o klaida #VALUE reiškia neatitinkantį failo pavadinimą. Šis masyvas eina į funkciją ISNUMBER ir išeina taip:

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

Klaidų reikšmės dabar yra NETIESA, o skaičius 1 - TIKRA. Tai įveikė iššūkį Nr. 1, dabar turime masyvą, kuris aiškiai parodo, kuriuose sąrašo failuose yra dominantis failo pavadinimas.

Toliau masyvas naudojamas kaip vardiklis, o skaitiklis - 1. Rezultatas atrodo taip:

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

kuris eina į LOOKUP kaip look_vector. Tai keblus sprendimas iššūkiui Nr. 2. Funkcija LOOKUP veikia tik apytiksliu atitikties režimu ir automatiškai ignoruoja klaidų reikšmes. Tai reiškia, kad jei paieškos reikšmė yra 2, VLOOKUP bandys rasti 2, nepavyks ir grįš prie ankstesnio skaičiaus (šiuo atveju atitiks paskutinį 1 7 pozicijoje). Galiausiai, LOOKUP naudoja 7 kaip indeksą, kad gautų 7-ąjį failą failų sąraše.

Tuščių paieškų tvarkymas

Keista, kad funkcija FIND grąžina 1, jei paieškos reikšmė yra tuščia eilutė (""). Norėdami apsisaugoti nuo klaidingų atitikmenų, galite apvynioti formulę IF ir patikrinti, ar nėra tuščios paieškos:

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

Įdomios straipsniai...