KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как найти и вернуть предпоследнее значение в заданной строке или столбце Excel?

АвторSiluviaДата изменения

При работе с большими листами Excel зачастую нужно найти не просто последнее значение в строке или столбце, а именно предпоследнее. Например, как показано на снимке экрана ниже, для диапазона A1:E16 может потребоваться извлечь предпоследнее значение в 6-й строке или в столбце B. Такая задача особенно актуальна при отслеживании последних изменений, анализе временных рядов или работе с самыми свежими, но не текущими записями в наборе данных. В отличие от поиска последнего значения, определение предпоследнего может быть неочевидным — особенно если данные содержат пустые ячейки или регулярно обновляются. В этой статье представлены чёткие пошаговые решения, которые помогут вам эффективно справиться с этой задачей и избежать распространённых ошибок.

Снимок экрана таблицы в Excel с данными в строках и столбцах


Найдите и верните предпоследнее значение в определённой строке или столбце с помощью формул

Как видно на скриншоте выше, для поиска и возврата предпоследнего значения — будь то в 6-й строке или в столбце B диапазона A1:E16 — формулы Excel обеспечивают динамичное и эффективное решение. Они особенно удобны, когда ваши данные регулярно обновляются или позиция предпоследнего значения может смещаться из-за добавления или удаления записей. В отличие от ручных методов, формулы автоматически подстраиваются под актуальные данные, гарантируя точный результат.

Найдите и верните предпоследнее значение в столбце B

1. Выберите пустую ячейку, в которой нужно отобразить предпоследнее значение. Введите следующую формулу массива в строку формул и нажмите Ctrl + Shift + Enter (для устаревших версий Excel), чтобы подтвердить её как формулу массива. В Excel 365 или Excel 2021 достаточно просто нажать клавишу Enter — формулы массива там обрабатываются автоматически.

=INDEX(B:B,LARGE(IF(B:B<,>,"",ROW(B:B)),2))

Снимок экрана формулы для нахождения предпоследнего значения в столбце Excel

Примечание: в этой формуле B:B означает столбец B. Если вам нужно предпоследнее значение в другом столбце, просто замените B:Bна нужную ссылку на столбец (например, измените на)C:C для столбца C). Этот метод работает как для диапазонов с пустыми ячейками, так и без них, но если присутствуют скрытые значения или отфильтрованные данные, возможны расхождения. Всегда дважды проверяйте ваш диапазон данных, если результат не соответствует ожидаемому.

Найдите и верните предпоследнее значение в строке 6

Выберите пустую ячейку для отображения результата из 6-й строки. Затем введите следующую формулу в строку формул и нажмите Enter, чтобы подтвердить.

=OFFSET($A$6,0, COUNTA(6:6)-2,1,1)

Снимок экрана формулы для нахождения предпоследнего значения в строке Excel

Примечание: в приведённой выше формуле $A$6 — это первая ячейка строки 6, а 6:6обозначает всю строку 6. При необходимости скорректируйте эти ссылки для других строк. Формула динамически подсчитывает количество непустых ячеек (включая ячейки с пустыми строками) в строке 6, а затем смещается от начальной ячейки, чтобы найти предпоследнюю заполненную ячейку. Если в вашей строке есть формулы, возвращающие пустые строки ()""), функция СЧЁТЗ всё равно может считать их непустыми, что повлияет на результат. Для диапазонов, содержащих смесь констант и формул, всегда проверяйте результаты, чтобы избежать ошибок.

Советы по использованию формул:

  • При работе с большими наборами данных использование ссылок на весь столбец (например,)B:B) может негативно сказаться на производительности. По возможности ограничьте диапазон только необходимой областью (например, B1:B100).
  • Если ваши данные содержат скрытые строки или отфильтрованы, формулы по-прежнему будут учитывать скрытые и отфильтрованные ячейки. Для корректной работы с отфильтрованными данными рекомендуем использовать специальные функции промежуточных итогов или вспомогательные столбцы.
  • Если все значения в целевой строке или столбце пусты, формулы могут вернуть ошибку или неожиданный результат — убедитесь, что ваши данные содержат как минимум два непустых значения.

Код VBA – используйте макрос для поиска предпоследнего значения в указанной строке или столбце

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

1. Перейдите на вкладку Инструменты разработчика на ленте Excel и щёлкните Visual Basic, чтобы открыть редактор VBA. В редакторе выберите Вставка > Модуль. Затем вставьте следующий код VBA в созданный модуль:

Sub GetSecondToLastValue()
    Dim rng As Range
    Dim arr As Variant
    Dim values As Collection
    Dim i As Long
    Dim secondLast As Variant
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set rng = Application.InputBox("Select the row or column range to analyze", xTitleId, Selection.Address, Type:=8)
    If rng Is Nothing Then Exit Sub
    
    arr = rng.Value
    Set values = New Collection
    
    If rng.Rows.Count = 1 Then
        For i = 1 To rng.Columns.Count
            If arr(1, i) <> "" Then
                values.Add arr(1, i)
            End If
        Next i
    ElseIf rng.Columns.Count = 1 Then
        For i = 1 To rng.Rows.Count
            If arr(i, 1) <> "" Then
                values.Add arr(i, 1)
            End If
        Next i
    Else
        MsgBox "Please select a single row or single column range.", vbExclamation
        Exit Sub
    End If
    
    If values.Count < 2 Then
        MsgBox "There are less than two non-blank values in the selected range.", vbInformation
        Exit Sub
    End If
    
    secondLast = values(values.Count - 1)
    MsgBox "The second-to-last value is: " & secondLast, vbInformation
End Sub

2. После ввода кода вернитесь в Excel и запустите макрос с помощью кнопки Кнопка запускаВыполнить, либо нажмите Alt + F8и выберите GetSecondToLastValueиз списка. Появится запрос на выбор диапазона — одной строки или одного столбца (например, B1:B16 для столбца или A6:E6 для строки). После подтверждения выделения макрос отобразит предпоследнее значение в диалоговом окне.

Примечания:

  • Этот макрос учитывает только непустые ячейки, автоматически пропуская пустые в выбранной строке или столбце.
  • Если в выделении содержится менее двух непустых значений, появится предупреждение, и значение не будет возвращено.
  • Макрос предназначен для выделения только одной строки или одного столбца. Если вы одновременно выберете несколько строк и столбцов, он предложит скорректировать выделение.
  • Для автоматизации вы можете дополнительно изменить код так, чтобы результат копировался в указанную ячейку листа вместо отображения во всплывающем диалоговом окне.

Это решение на VBA особенно выгодно для пользователей, работающих с динамическими таблицами или часто обновляемыми наборами данных, так как оно сводит к минимуму ручные ошибки и рутинные операции.


Другие встроенные методы Excel – отфильтруйте все пустые ячейки и вручную определите предпоследнее значение

Хотя формулы и макросы предлагают автоматизированные способы поиска предпоследнего значения, иногда вы можете предпочесть быстрый визуальный подход — особенно при работе с нерегулярными или несмежными данными или когда нужно разово проверить значение. Встроенные средства фильтрации Excel позволяют временно скрыть пустые или нерелевантные ячейки, упрощая поиск нужной записи без редактирования или написания формул.

Метод фильтрации:

  • Выделите Диапазон данных for your column or row (for columns, select cells B1:B16; for rows, select A6:E6 in your worksheet).
  • На ленте Excel щёлкните Данные > Фильтр, чтобы включить стрелки фильтрации. Щёлкните раскрывающийся список фильтра в заголовке столбца или рядом с выбранным диапазоном.
  • Снимите флажок (Пустые), чтобы скрыть пустые ячейки. Теперь в списке отображаются только непустые значения.
  • Для столбца прокрутите отфильтрованный список до самого конца и посмотрите предпоследнее значение. Для строки (после фильтрации, если это возможно) считайте справа, чтобы найти предпоследнюю непустую запись.

Примечания и советы:

  • Фильтрация наиболее эффективна для небольших и средних списков или когда вам нужно визуально подтвердить расположение значений.
  • Если ваш набор данных очень большой, фильтрация может замедлить работу, и она не подходит для автоматизации или многократного использования.
  • Когда применены фильтры, убедитесь, что вы работаете в правильном контексте (отфильтрованные списки могут пропускать скрытые строки или столбцы).
  • Чтобы удалить фильтры, щёлкните Очистить на вкладке «Данные».

Этот метод менее подходит для постоянного динамического анализа или работы с большими наборами данных, однако обеспечивает прозрачную ручную проверку предпоследней непустой записи — что может быть полезно для быстрой диагностики или подтверждения.


Связанные статьи:

Лучшие инструменты повышения продуктивности в Office

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  VLookup по нескольким значениям  |   VLookup по нескольким листам   |   Распознавание нечетких соответствий
Расширенный раскрывающийся список:Быстрое создание выпадающего списка   |  Зависимый выпадающий список   |  Выпадающий список с множественным выбором
Управление столбцами:Добавление заданного количества столбцов|Перемещение столбцов|Переключение видимости скрытых столбцов|Сравнение диапазонов и столбцов
Избранные функции:Сетка фокусировки   |  Просмотр дизайна   |Улучшенная строка формулы   | Управление рабочими книгами и листами   |  Библиотека ресурсов(автотекст)|  Выбор даты   |  Объединить листы  |  Шифрование/Расшифровать ячейки   | Отправка писем по списку   |  Супер фильтр   |   Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 15:12 Текстовыеинструменты(Добавить текст,Удалить определенные символы, …)|   50+Типыдиаграмм(Диаграмма Ганта, …)|   40+ Практические формулы(Рассчитать возраст на основе даты рождения, …)|   19 Инструментывставки(Вставить QR-код,Вставка изображения по пути, …)|   12 Инструментыпреобразования(Преобразовать в слова,Конвертация валют, …)|   7 Объединить и разделитьИнструменты(Расширенное объединение строк,Разделить ячейки, …)|… и многое другое
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и ещё 40+ языков!

Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…


Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
  • Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!

Все надстройки Kutools — один установщик

Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек