Excel formula: Pridobite prvo prazno vrednost na seznamu -

Kazalo

Splošna formula

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

Povzetek

Če želite dobiti prvo neprazno vrednost (besedilo ali številko) v območju z enim stolpcem, lahko uporabite matrično formulo, ki temelji na funkcijah INDEX, MATCH in ISBLANK. V prikazanem primeru je formula v D10:

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

Opomba: to je formula matrike in jo je treba vnesti s tipko Control-Shift-Enter.

Pojasnilo

Bistvo problema je torej naslednje: Želimo dobiti prvo neprazno celico, vendar v Excelu nimamo neposrednega načina za to. VLOOKUP bi lahko uporabili z nadomestnim znakom * (glej spodnjo povezavo), vendar bo to delovalo samo za besedilo, ne pa tudi za številke.

Torej, funkcionalnost, ki jo potrebujemo, moramo zgraditi z gnezdenjem formul. To lahko storimo tako, da uporabimo matrično funkcijo, ki "testira" celice in vrne matriko TRUE / FALSE vrednosti, ki jih lahko vnesemo v funkcijo MATCH.

Funkcija ISBLANK, ki deluje od znotraj navzven, oceni celice v obsegu B3: B11 in vrne matriko, ki je videti takole:

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

Vsaka FALSE predstavlja celico v obsegu, ki ni prazna.

Nato MATCH poišče FALSE znotraj matrike in vrne položaj prvega najdenega ujemanja, v tem primeru 2. Formula v primeru je zdaj videti takole:

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

Na koncu funkcija INDEX prevzame in dobi vrednost na položaju 2 v matriki, ki je 10.

Prva vrednost, ki ni ničelna

Če želite dobiti prvo vrednost, ki ni ničelna, lahko vključite funkcijo LEN, kot je ta:

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

Prva številčna vrednost

Če želite dobiti prvo številsko vrednost na seznamu, lahko prilagodite formulo tako, da uporablja funkcijo ŠTEVILO, nato spremenite logiko tako, da se ujema z TRUE namesto FALSE:

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

To je tudi matrična formula, ki jo je treba vnesti s tipko control + shift + enter.

Dobre povezave

Poiščite prvi neprazen element na seznamu (chandoo)

Zanimive Članki...