„Excel“ formulė: gaukite pirmą ne tuščią reikšmę sąraše -

Turinys

Bendroji formulė

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

Santrauka

Norėdami gauti pirmąją ne tuščią vertę (tekstą ar skaičių) vieno stulpelio diapazone, galite naudoti masyvo formulę, pagrįstą funkcijomis INDEX, MATCH ir ISBLANK. Parodytame pavyzdyje formulė D10 yra:

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

Pastaba: tai yra masyvo formulė, kurią reikia įvesti paspaudus „Control-Shift-Enter“.

Paaiškinimas

Taigi, problemos esmė yra tokia: mes norime gauti pirmąją ne tuščią langelį, bet neturime tiesioginio būdo tai padaryti „Excel“. Galėtume naudoti VLOOKUP su pakaitos simboliu * (žr. Nuorodą žemiau), bet tai veiks tik tekstui, o ne skaičiams.

Taigi, mums reikia sukurti reikalingą funkcionalumą, susidedant iš formulių. Norėdami tai padaryti, turite naudoti masyvo funkciją, kuri "išbando" langelius ir pateikia TRUE / FALSE reikšmių masyvą, kurį galime pateikti į funkciją MATCH.

Dirbant iš vidaus, ISBLANK funkcija įvertina langelius diapazone B3: B11 ir pateikia masyvą, kuris atrodo taip:

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

Kiekvienas FALSE reiškia langelį diapazone, kuris nėra tuščias.

Tada MATCH masyvo viduje ieško FALSE ir grąžina pirmojo surasto atitikimo, šiuo atveju 2, padėtį. Šiuo metu pavyzdžio formulė dabar atrodo taip:

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

Galiausiai, INDEX funkcija perima ir gauna masyvo 2 pozicijos vertę, kuri yra 10.

Pirmoji ilgio vertė, lygi nuliui

Norėdami gauti pirmąją ilgio reikšmę, kuri nėra lygi nuliui, galite įtraukti LEN funkciją taip:

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

Pirmoji skaitinė vertė

Norėdami gauti pirmąją skaitinę reikšmę sąraše, galite pritaikyti formulę naudoti funkciją ISNUMBER, tada pakeisti logiką, kad ji atitiktų TRUE, o ne FALSE:

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

Tai taip pat yra masyvo formulė, kurią reikia įvesti paspaudus „Control + Shift“ + „Enter“.

Geri ryšiai

Raskite pirmą ne tuščią elementą sąraše („chandoo“)

Įdomios straipsniai...