Перейти к содержимому

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

Author: Xiaoyang Last Modified: 2025-08-07

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

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

Вернуть первую непустую ячейку в строке или столбце с помощью формулы

Вернуть последнюю непустую ячейку в строке или столбце с помощью формулы

Вернуть значение первой или последней непустой ячейки с помощью макроса VBA

Найти первую или последнюю непустую ячейку, используя функцию фильтра в Excel


arrow blue right bubble Вернуть первую непустую ячейку в строке или столбце с помощью формулы

Чтобы извлечь первую ячейку, содержащую данные из строки или столбца, можно использовать комбинацию функций ИНДЕКС и ПОИСКПОЗ. Этот подход применяется, когда вы хотите получить значение программно, сохраняя динамичность листа при изменении базовых данных. Вот как это сделать:

1. В пустой ячейке рядом с вашим диапазоном данных введите следующую формулу:

=INDEX(A1:A13,MATCH(TRUE,INDEX((A1:A13<>0),0),0))

Например, если ваши данные находятся в ячейках A1:A13, эта формула вернет первую непустую и ненулевую ячейку. См. пример ниже:

apply a formula to return the first non blank cell

2. Нажмите клавишу Enter. Значение первой ячейки в диапазоне, которая не является пустой (или не равна нулю, согласно логике формулы), будет отображено следующим образом:

press Enter key to get the result

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

  • В приведенной выше формуле вы можете изменить A1:A13 на ссылку на любой столбец или строку (например, 1:1 для строки 1 или B2:M2 для части строки).
  • Этот метод надежно работает для одной строки или одного столбца. Для таблиц или многострочных диапазонов рекомендуется применять формулу к каждой строке или столбцу индивидуально.
  • Если формула возвращает ошибку (#Н/Д), убедитесь, что ваш диапазон содержит хотя бы одну непустую и ненулевую ячейку.
  • Помните, для истинных пустых ячеек (""), замените <>0 на <>"", если вы хотите игнорировать только пустые ячейки, а не нули.
a screenshot of kutools for excel ai

Раскройте магию Excel с Kutools AI

  • Умное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это посредством простых команд.
  • Пользовательские формулы: Создавайте индивидуальные формулы для оптимизации ваших рабочих процессов.
  • Кодирование VBA: Пишите и внедряйте код VBA без особых усилий.
  • Интерпретация формул: Легко разбирайтесь в сложных формулах.
  • Перевод текста: Преодолейте языковые барьеры в ваших таблицах.
Улучшите возможности Excel с помощью инструментов на базе ИИ. Скачать сейчас и испытайте беспрецедентную эффективность!

arrow blue right bubble Вернуть последнюю непустую ячейку в строке или столбце с помощью формулы

Чтобы получить значение из последней непустой ячейки в заданном диапазоне, формула на основе массива ПРОСМОТР предоставляет эффективное и простое решение для динамических или изменяющихся данных. Это особенно полезно для автоматического определения последней записи в списке или сводной таблице.

1. Введите следующую формулу в пустую ячейку рядом с вашим целевым диапазоном:

=LOOKUP(2,1/(A1:A13<>""),A1:A13)

Эта формула сканирует указанный диапазон и возвращает значение последней ячейки, которая не является пустой. Например, используя A1:A13 в качестве диапазона:

apply a formula to return the last non blank cell

2. После нажатия Enter, Excel рассчитает и отобразит значение в последней непустой ячейке:
press Enter key to get the result

Примечания и рекомендации:

  • Вы можете использовать эту формулу с любым одиночным столбцом или строкой (B1:B20, F8:F30 или 2:2 и т.д.). Обновите ссылку на диапазон по необходимости.
  • Если ваши данные включают нули, которые вы хотите игнорировать, вы можете заменить A1:A13<>"" на A1:A13<>0, но будьте внимательны, чтобы различать истинные пустые ячейки и нули.
  • Этот подход лучше всего работает для простых диапазонов данных. Для диапазонов с формулами, возвращающими "" (пустой текст), эта формула считает такие ячейки пустыми.
  • Если все ячейки пустые, формула вернет ошибку #Н/Д.

arrow blue right bubble Вернуть значение первой или последней непустой ячейки с помощью макроса VBA

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

1. Откройте редактор VBA, перейдя в Разработчик > Visual Basic. В открывшемся окне VBA нажмите Вставка > Модуль и вставьте одну из следующих процедур в окно модуля:

Макрос для поиска первой непустой ячейки в выбранном диапазоне:

Sub FindFirstNonBlankCell()
    Dim rng As Range
    Dim cell As Range
    Dim firstValue As Variant
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set rng = Application.Selection
    Set rng = Application.InputBox("Select range", xTitleId, rng.Address, Type:=8)
    
    firstValue = ""
    
    For Each cell In rng
        If cell.Value <> "" Then
            firstValue = cell.Value
            Exit For
        End If
    Next cell
    
    If firstValue <> "" Then
        MsgBox "The first non blank cell value is: " & firstValue, vbInformation, xTitleId
    Else
        MsgBox "No non blank cells found.", vbExclamation, xTitleId
    End If
End Sub

Аналогично, вот код для поиска последней непустой ячейки:

Sub FindLastNonBlankCell()
    Dim rng As Range
    Dim cell As Range
    Dim lastValue As Variant
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set rng = Application.Selection
    Set rng = Application.InputBox("Select range", xTitleId, rng.Address, Type:=8)
    
    lastValue = ""
    
    For Each cell In rng
        If cell.Value <> "" Then
            lastValue = cell.Value
        End If
    Next cell
    
    If lastValue <> "" Then
        MsgBox "The last non blank cell value is: " & lastValue, vbInformation, xTitleId
    Else
        MsgBox "No non blank cells found.", vbExclamation, xTitleId
    End If
End Sub

2. Чтобы выполнить код, нажмите Выполнить кнопку Run button в редакторе VBA. Вам будет предложено выбрать целевой диапазон для поиска непустых ячеек. После выбора и подтверждения, диалоговое окно покажет либо первую, либо последнюю непустую ячейку в зависимости от того, какой макрос вы запустили.

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

arrow blue right bubble Найти первую или последнюю непустую ячейку, используя функцию фильтра в Excel

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

Вот как визуально найти первые или последние непустые ячейки через фильтрацию:

  1. Выберите столбец или строку, содержащую ваши данные. Вы можете выбрать весь столбец (например, щелкнув по букве столбца) для более удобной фильтрации.
  2. Нажмите на вкладку Данные, затем выберите Фильтр.
  3. Нажмите маленькую стрелку фильтра в заголовке вашего диапазона или таблицы.
  4. Снимите флажок (Пустые), чтобы оставить видимыми только заполненные ячейки.
  5. После фильтрации первое видимое значение вверху столбца является вашей первой непустой ячейкой; прокрутите вниз, чтобы увидеть последнее.

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

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


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

🤖 Kutools AI Aide: Переворот в анализе данных на основе: Интеллектуальное выполнение   |  Сгенерировать код  |  Создать Пользовательские Формулы  |  Анализ данных и генерация диаграмм  |  Вызов Kutools Functions
Популярные функции: Найти, выделить или отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячейки без потери данных   |   Округлить...
Супер ПОИСК: VLookup с несколькими критериями    VLookup с несколькими значениями  |   Многолистовой поиск   |   Распознавание нечетких соответствий ....
Расширенный раскрывающийся список: Быстро создать раскр. список   |  Зависимый раскрывающийся список   |  Множественный выбор в раскрывающемся списке ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка фокусировки   |  Дизайн листа   |   Улучшенная строка формулы    Управление книгой и листами   |  Библиотека автотекста (Auto Text)   |  Выбор даты   |  Объединить данные   |  Шифрование/Расшифровка ячеек    Отправить письмо по списку   |  Супер фильтр   |   Специальный фильтр (фильтр по жирному/курсиву/зачеркиванию...) ...
Топ–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% и сократите сотни кликов мышью ежедневно!