Excel képlet: Utolsó fájlmódosítás keresése -

Tartalomjegyzék

Általános képlet

(=MAX(IF(ISERROR(SEARCH(H5&"*",files)),0,ROW(files)-ROW(INDEX(files,1,1))+1)))

Összegzés

A táblázat utolsó fájlváltozatának pozícióját (sorát) megkeresheti egy több Excel-függvényen alapuló képlettel: MAX, IF, ISERROR, ROW és INDEX.

A bemutatott példában a H6 cellában szereplő képlet a következő:

(= MAX (HA (ISERROR (KERESÉS (H5 & "*", fájlok)), 0, ROW (fájlok) -ROW (INDEX (fájlok, 1,1)) + 1)))

ahol a "fájlok" a C4: C11 megnevezett tartomány.

Megjegyzés: ez egy tömbképlet, amelyet a control + shift + enter billentyűkombinációval kell megadni.

Kontextus

Ebben a példában számos fájlverzió van felsorolva egy táblázatban, dátummal és felhasználónévvel. Vegye figyelembe, hogy a fájlnevek megismétlődnek, kivéve a végén csatolt kódot, amely a verziót ábrázolja ("CA", "CB", "CC", "CD" stb.).

Egy adott fájlhoz meg akarjuk keresni az utolsó verzió pozícióját (sorszámát). Ez trükkös probléma, mert a fájlnevek végén található verziókódok megnehezítik a fájlnévhez való illesztést. Ezenkívül alapértelmezés szerint az Excel egyezési képletei az első mérkőzést adják vissza, nem az utolsó mérkőzést, ezért ezt a kihívást néhány trükkös technikával kell megoldanunk.

Magyarázat

Ennek a képletnek a lényege, hogy összeállítjuk az adott fájl sorszámainak listáját. Ezután a MAX függvény segítségével kapjuk meg a legnagyobb sorszámot, amely megfelel az adott fájl utolsó verziójának (utolsó előfordulásának).

Egy adott fájl összes előfordulásának megkereséséhez a csillag (*) helyettesítő karakterrel konfigurált KERESÉS funkciót használjuk, hogy megfeleljen a fájl nevének, figyelmen kívül hagyva a verziókódokat. A KERESÉS VALUE hibát dob, ha a szöveg nem található, ezért a keresést ISERROR-ba csomagoljuk:

ISERROR(SEARCH(H5&"*",files))

Ez egy TRUE és FALSE értékek tömbjét eredményezi, mint ez:

(HAMIS; IGAZ; HAMIS; HAMIS; IGAZ; IGAZ; HAMIS; IGAZ)

Zavaros, de a TRUE hibát jelent (a szöveg nem található), a FALSE pedig egyezést jelent. Ez a tömb eredmény logikai tesztként bekerül az IF függvénybe. Ha az értéke IGAZ, akkor nulla értéket használunk, és ha igaz, akkor ezt a kódot adjuk meg, amely relatív sorszámokat generál ahhoz a tartományhoz, amellyel dolgozunk:

ROW(files)-ROW(INDEX(files,1,1))+1)

Az IF függvény ezután egy ilyen értéktömböt ad vissza:

(1; 0; 3; 4; 0; 0; 7; 0)

A nulla kivételével minden szám egyezik a "fájlnév1" egyezésével, vagyis a "fájlok" nevű tartományon belüli sorszámmal, ahol a "fájlnév1" szerepel.

Végül a MAX függvény segítségével kapjuk meg a tömb maximális értékét, amely ebben a példában 7.

Az INDEX használatával ezzel a sorszámmal lekérheti az utolsó verzióhoz kapcsolódó információkat (pl. Teljes fájlnév, dátum, felhasználó stb.).

Megnevezett tartomány nélkül

A megnevezett tartományok megkönnyítik a bonyolultabb képlet beállítását, mivel nem kell kézzel megadni a cellacímeket. Ebben az esetben azonban egy extra függvényt (INDEX) használunk a megnevezett tartomány "fájljainak" első cellájának megszerzésére, ami kissé bonyolítja a dolgot. A megnevezett tartomány nélkül a képlet így néz ki:

(=MAX(IF(ISERROR(SEARCH(H5&"*",C4:C11)),0,ROW(C4:C11)-ROW(C4)+1)))

érdekes cikkek...