Загальна формула
(=INDEX(range,MATCH(FALSE,ISBLANK(range),0)))
Резюме
Щоб отримати перше непорожнє значення (текст або число) в діапазоні в один стовпець, ви можете використовувати формулу масиву на основі функцій 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.