Excel-formel: Få det första värdet som inte är tomt i en lista -

Innehållsförteckning

Generisk formel

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

Sammanfattning

För att få det första icke-tomma värdet (text eller nummer) i ett i ett kolumnområde kan du använda en matrisformel baserad på funktionerna INDEX, MATCH och ISBLANK. I exemplet som visas är formeln i D10:

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

Obs: detta är en matrisformel och måste anges med Control-Shift-Enter.

Förklaring

Så kärnan i problemet är detta: Vi vill få den första icke-tomma cellen, men vi har inte ett direkt sätt att göra det i Excel. Vi kan använda VLOOKUP med ett jokertecken * (se länk nedan), men det fungerar bara för text, inte siffror.

Så vi måste bygga den funktionalitet vi behöver genom att häcka formler. På sättet att göra det är att använda en matrisfunktion som "testar" celler och returnerar en matris med SANT / FALSKA värden som vi kan mata in i MATCH-funktionen.

Arbetar inifrån och ut, utvärderar ISBLANK-funktionen cellerna i området B3: B11 och returnerar en matris som ser ut så här:

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

Varje FALSE representerar en cell i intervallet som inte är tomt.

Därefter letar MATCH efter FALSE inuti arrayen och returnerar positionen för den första matchningen som hittades, i detta fall 2. Vid denna punkt ser formeln i exemplet nu ut så här:

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

Slutligen tar INDEX-funktionen över och får värdet vid position 2 i matrisen, vilket är 10.

Första längdvärde som inte är noll

För att få det första längdvärdet som inte är noll kan du inkludera LEN-funktionen så här:

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

Första numeriska värdet

För att få det första numeriska värdet i en lista kan du anpassa formeln så att den använder ISNUMBER-funktionen och sedan ändra logiken så att den matchar TRUE istället för FALSE:

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

Detta är också en matrisformel och måste anges med kontroll + skift + enter.

Bra länkar

Hitta det första icke-tomma objektet i en lista (chandoo)

Intressanta artiklar...