Excel vzorec: Získajte prvú neprázdnu hodnotu v zozname -

Obsah

Všeobecný vzorec

(=INDEX(range,MATCH(FALSE,ISBLANK(range),0)))

Zhrnutie

Ak chcete získať prvú neprázdnu hodnotu (text alebo číslo) v rozsahu jedného stĺpca, môžete použiť maticový vzorec založený na funkciách INDEX, MATCH a ISBLANK. V zobrazenom príklade je vzorec v D10:

(=INDEX(B3:B11,MATCH(FALSE,ISBLANK(B3:B11),0)))

Poznámka: toto je vzorec poľa a musí byť zadaný pomocou klávesovej skratky Control-Shift-Enter.

Vysvetlenie

Podstata problému je teda táto: Chceme získať prvú neprázdnu bunku, ale nemáme k dispozícii priamy spôsob, ako to urobiť v programe Excel. Mohli by sme použiť VLOOKUP so zástupným znakom * (pozri odkaz nižšie), ale bude to fungovať iba pre text, nie pre čísla.

Potrebujeme teda vybudovať potrebnú funkčnosť vnorením vzorcov. Jedným z spôsobov, ako to urobiť, je použiť funkciu poľa, ktorá „testuje“ bunky a vráti pole hodnôt TRUE / FALSE, ktoré môžeme vložiť do funkcie MATCH.

Pri práci zvnútra von funkcia ISBLANK vyhodnotí bunky v rozsahu B3: B11 a vráti pole, ktoré vyzerá takto:

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

Každá FALSE predstavuje bunku v rozsahu, ktorý nie je prázdny.

Ďalej MATCH vyhľadá FALSE vo vnútri poľa a vráti pozíciu prvej nájdenej zhody, v tomto prípade 2. Vzorec v príklade teraz vyzerá takto:

(=INDEX(B3:B11,2,0)))

Nakoniec prevezme funkciu INDEX a získa hodnotu na pozícii 2 v poli, čo je 10.

Prvá nenulová hodnota dĺžky

Ak chcete získať prvú hodnotu nenulovej dĺžky, môžete zahrnúť funkciu LEN takto:

(=INDEX(range,MATCH(TRUE,LEN(range)>0,0)))

Prvá číselná hodnota

Ak chcete získať prvú číselnú hodnotu v zozname, môžete upraviť vzorec tak, aby používal funkciu ISNUMBER, a potom zmeniť logiku tak, aby zodpovedala hodnote TRUE namiesto FALSE:

(=INDEX(range,MATCH(TRUE,ISNUMBER(range),0)))

Toto je tiež vzorec poľa a musí byť zadaný pomocou klávesov Control + Shift + Enter.

Dobré odkazy

Nájsť prvú neprázdnu položku v zozname (chandoo)

Zaujímavé články...