Получение последнего значения в столбце (Microsoft Excel)
Вы можете задаться вопросом, есть ли способ вернуть последнее (не самое большое) значение в столбце. Например, если есть значения от A1 до A5, вы можете захотеть вернуть значение из A5. Позже, если значения были добавлены в A6 — A8, то должно быть возвращено значение в A8.
Есть несколько способов найти решение. Первый — использовать следующую формулу:
=INDEX(A:A,COUNT(A:A))
Эта формула возвращает последнее числовое значение в столбце при условии, что значения начинаются с (в данном случае) A1. Этот подход работает, только если все значения в столбце являются числовыми. Если значения не являются числовыми или если есть пустые ячейки, перемешанные со значениями, то необходим другой подход. Один из способов — скопировать следующую формулу в столбец B справа от ячеек, которые могут содержать значения:
=IF(ISNUMBER(A2),IF(A2<>0,ROW(A2),""),"")
В этом случае формула возвращает номер строки любой ячейки в A, которая содержит числовое значение больше нуля. Затем можно использовать следующую формулу для получения последнего значения в столбце A:
=INDEX(A:A,MAX(B:B))
Эта формула работает, потому что она возвращает самый большой номер строки из столбца B, а затем использует его как индекс для возврата соответствующего значения из столбца A.
Если вы не хотите использовать вспомогательный столбец (как это сделано здесь в столбце B), вы можете использовать следующую формулу, если в столбце A есть сочетание числовых и нечисловых значений:
=LOOKUP(2,1/(1-ISBLANK(A:A)),A:A)
Эта формула, возможно, потребует пояснений. Часть ISBLANK (A: A) возвращает массив, в котором указано значение FALSE в каждом месте, соответствующем ячейке в столбце A, которая содержит значение и значение TRUE в каждом месте, соответствующем ячейке в столбце A, которая пуста. Эти значения ИСТИНА / ЛОЖЬ затем вычитаются из 1, так что оно изменяется на значения 0/1 вместо значений ИСТИНА / ЛОЖЬ.
Затем этот массив «инвертируется» путем деления 1 на значения 0/1, в результате получается массив, содержащий 1 везде, где есть значение в столбце A, и # DIV / 0! ошибка, если в столбце A есть пустая ячейка. Наконец, функция LOOKUP ищет значение 2 в массиве. Он не найдет его (в массиве только единицы и ошибки), поэтому он возвращает последнюю «1» в списке и, таким образом, выбирает последнее непустое значение из столбца.
Как вы понимаете, возврат последнего значения в столбце временами может быть немного сложным. Чистый подход — просто разработать свою собственную функцию VBA, которая возвращает желаемое значение. В этом случае вы можете запрограммировать функцию, чтобы возвращать любое значение, а не только числовые значения.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (9008) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:
link: / excel-Retrieving_the_Last_Value_in_a_Column [Получение последнего значения в столбце]
.