Как найти значение последней ячейки в строке Excel

1

У меня есть электронная таблица с разделенным списком каталогов и файлов в строках с различным количеством столбцов. Я просто хочу, чтобы значение имени файла (например, 123-E-001.xls, расположенное в последней ячейке каждой строки) было указано в столбце А.

Sherpa2
источник

Ответы:

1

Вы можете использовать формулу Index / Match по этим направлениям:

=INDEX(B1:ZZ1,MATCH("zzzz",B1:ZZ1,1))

Он Match("zzzz"...)найдет последнюю ячейку с текстом в диапазоне и передаст ее номер в функцию индекса.

Это будет быстрее, чем подход поиска.

teylyn
источник
Интересно, будет ли быстрее использовать COL из xllastcell, а не заставлять его все время выглядеть? Или вы думаете, что это может быть умным и остановить в любом случае?
Левша
@Lefty, это формула рабочего листа, а не VBA. Функция Match () с 1 в качестве последнего параметра найдет последнюю заполненную ячейку практически сразу, поскольку она не просматривается в ячейке за ячейкой. Это, конечно, быстрее, чем передавать вещи в VBA и обратно.
Тейлин
Извините, вы правы, я почему-то думал в VBA. Прости меня. Мне нравится этот Матч, я никогда не использовал его, но придется исследовать.
Левша
0

Вы можете использовать функцию LOOKUP. Если вы поместите следующую формулу в ячейку A1, она найдет последнее непустое значение между B1 и XX1. Измените XX1 на столбец, который, как ожидается, будет справа от последнего столбца данных

=LOOKUP(2,1/(B1:XX1<>""),B1:XX1)

Обратите внимание, что вы не можете иметь столько строк, сколько столбцов, поэтому, если у вас много имен файлов, вы должны использовать столбцы вместо строк. Следующая формула делает то же самое для данных в столбце:

=INDEX(A:A, COUNTA(A:A), 1)
hdhondt
источник
CountA будет работать только при отсутствии пустых ячеек. Кроме того, FWIW, Index можно использовать и для строк, а не только для столбцов.
Тейлин
LOOKUP также может использоваться для столбца значений, например =LOOKUP(2,1/(A1:A100<>""),A1:A100).... или имитировать индекс INDEX / MATCH =LOOKUP("zzzz",A1:A100)
Тейлина