Резюме:
=INDEX( FILTER( G2:G , NOT(ISBLANK(G2:G))) , COUNTA(G2:G) )
подробности:
Я просмотрел и попробовал несколько ответов, и вот что я нашел:
Самое простое решение (см. Dohmoose 'answer ) работает при отсутствии пробелов:
=INDEX(G2:G; COUNT(G2:G))
Если у вас есть пробелы, это не получается.
Вы можете обработать один пробел, просто изменив значение с COUNT
на COUNTA
(см. user3280071 ответ ):
=INDEX(G2:G; COUNTA(G2:G))
Однако это не удастся для некоторых комбинаций пробелов. (1 blank 1 blank 1
терпит неудачу для меня.)
Работает следующий код (см. ответ Надера и комментарий Джейсона ):
=INDEX( FILTER( G2:G , NOT(ISBLANK(G2:G))) , ROWS( FILTER( G2:G , NOT(ISBLANK(G2:G)) ) ) )
, но для этого нужно подумать, хотите ли вы использовать COLUMNS
или ROWS
для данного диапазона.
Однако, если COLUMNS
заменить на COUNT
, я, кажется, получаю надежную, чистую реализацию LAST
:
=INDEX( FILTER( G2:G , NOT(ISBLANK(G2:G))) , COUNT( FILTER( G2:G , NOT(ISBLANK(G2:G)) ) ) )
И так как COUNTA
имеет встроенный фильтр, мы можем упростить дальнейшее использование
=INDEX( FILTER( G2:G , NOT(ISBLANK(G2:G))) , COUNTA(G2:G) )
Это несколько просто и правильно. И вам не нужно беспокоиться о том, считать ли строки или столбцы. И в отличие от скриптовых решений, он автоматически обновляется с изменениями в электронной таблице.
А если вы хотите получить последнее значение в строке, просто измените диапазон данных:
=INDEX( FILTER( A2:2 , NOT(ISBLANK(A2:2))) , COUNTA(A2:2) )