Обща формула
(=INDEX(range,MATCH(FALSE,ISBLANK(range),0)))
Обобщение
За да получите първата непразна стойност (текст или число) в a в диапазон от една колона, можете да използвате формула на масив, базирана на функциите INDEX, MATCH и ISBLANK. В показания пример формулата в D10 е:
(=INDEX(B3:B11,MATCH(FALSE,ISBLANK(B3:B11),0)))
Забележка: това е формула на масив и трябва да се въведе с Control-Shift-Enter.
Обяснение
И така, същността на проблема е следната: Искаме да получим първата непразна клетка, но нямаме директен начин да направим това в Excel. Можем да използваме VLOOKUP с заместващ знак * (вижте връзката по-долу), но това ще работи само за текст, а не за числа.
И така, трябва да изградим необходимата функционалност чрез влагане на формули. На път да се направи това е да се използва функция на масив, която "тества" клетки и връща масив от TRUE / FALSE стойности, които можем да подадем във функцията MATCH.
Работейки отвътре навън, функцията ISBLANK оценява клетките в диапазона B3: B11 и връща масив, който изглежда така:
(TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE)
Всяко FALSE представлява клетка в диапазона, която не е празна.
След това MATCH търси FALSE вътре в масива и връща позицията на първото намерено съвпадение, в този случай 2. В този момент формулата в примера сега изглежда така:
(=INDEX(B3:B11,2,0)))
И накрая, функцията INDEX поема и получава стойността на позиция 2 в масива, която е 10.
Първа стойност, различна от нула
За да получите първата стойност, различна от нула, можете да включите функцията LEN по следния начин:
(=INDEX(range,MATCH(TRUE,LEN(range)>0,0)))
Първа числова стойност
За да получите първата числова стойност в списък, можете да адаптирате формулата, за да използвате функцията ISNUMBER, след което да промените логиката, за да съответства на TRUE вместо FALSE:
(=INDEX(range,MATCH(TRUE,ISNUMBER(range),0)))
Това също е формула на масив и трябва да се въведе с control + shift + enter.