Получить первое и последнее значения для диапазона

Получить первое и последнее значения для диапазона

Допустим, у меня есть диапазон A1:A27, и этот диапазон содержит как пустые, так и непустые значения. Мне нужны две функции: одна для получения первого непустого значения в диапазоне, а другая для получения последнего непустого значения в диапазоне, вот так.

=First(A1:A27)
=Last(A1:A27)

Диапазоны будут представлять собой одномерные массивы.

Мне придется проделать множество подобных операций в своей таблице, поэтому сценарии приложений будут непригодны для использования из-за неэффективности.

Как бы вы написали эти функции?

решение1

Мы могли бы использовать это, чтобы найти первое непустое значение в диапазоне:

=INDEX(A1:A27, MATCH(TRUE, A1:A27<>"", 0))

И мы могли бы использовать это, чтобы найти последнее непустое значение в диапазоне:

=INDEX(A1:A27, MAX(IF(A1:A27<>"", ROW(A1:A27))))

решение2

Функция TOCOL

Если вы ищете только значения, TOCOL удалит пробелы, и вы можете использовать INDEX, чтобы извлечь первое значение, а для последнего значения сделать то же самое, но отсортировать по убыванию строк:

# Получить первое значение 
=ИНДЕКС(ТОКОЛ(A1:A27;1);1)

# Получить последнее значение 
=ИНДЕКС(TOCOL(СОРТИРОВКА(A1:A27,СТРОКА(A1:A27),0),1),1)

Функция XMATCH

TheФункция XMATCHимеет преимущество перед MATCH для этого приложения, поскольку поддерживает поиск от первого к последнему и от последнего к первому.

# Синтаксис 
=XMATCH(ключ_поиска, диапазон_поиска, [режим_соответствия], [режим_поиска])

Примеры XMATCH

Синтаксис первого значения аналогичен MATCH, за исключениемexact_match=0используется по умолчанию, поэтому может быть опущен.

# Первое значение 
=ИНДЕКС(A1:A27, XПОИСКПОЗ(ИСТИНА, A1:A27<>""))      
=СТРОКА(ИНДЕКС(A1:A27, XMATCH(ИСТИНА, A1:A27<>""))) //Возвращает строку №

XMATCH поддерживает поиск «от последнего к первому», указываяsearch_mode=-1

# Последнее значение 
=ИНДЕКС(A1:A27, XПОИСКПОЗ(ИСТИНА, A1:A27<>"",,-1))
=СТРОКА(ИНДЕКС(A1:A27, XMATCH(ИСТИНА, A1:A27<>"",,-1))) //Возвращает строку №

Связанный контент