В общем, получение последней строки данного столбца в Excel легко выполняется с помощью пользовательской функции в VBA:
Function lastRow(wsName As String, Optional columnToCheck As Long = 1) As Long
Dim ws As Worksheet
Set ws = Worksheets(wsName)
lastRow = ws.Cells(ws.Rows.Count, columnToCheck).End(xlUp).Row
End Function
Для последней строки есть две формулы Excel, которые я нашел до сих пор.:
=SUMPRODUCT(MAX((A:A<>"")*ROW(A:A)))
=MAX(IFERROR(MATCH(E1+99,A:A),0),IFERROR(MATCH("zzz",A:A),0))
Проблема с ними в том, что первое не работает, еслив диапазоне имеется ошибка, и вторая возвращает не настоящую последнюю строку, если это ошибка, а последнюю строку без ошибок, возвращая, таким образом, 6, а не 7:
Вопрос в том, как получить формулу, которая возвращает 7, так как это последняя строка в столбце A, которая используется?Хотя это ошибка.Без VBA.