跳至主要内容

如何返回一行或一列中的第一个/最后一个非空单元格?

Author: Xiaoyang Last Modified: 2025-07-31

在日常的Excel工作中,经常会遇到只有部分单元格包含值,而其他单元格为空的数据集。通常情况下,您可能需要快速识别某一特定行或列中第一个或最后一个有值的单元格。虽然对于少量条目来说这很容易,但在较长的行或列中,手动查找这些值会变得低效、耗时且容易出错。

有几种实用的方法可以高效地检索一行或一列中的第一个或最后一个非空单元格值,帮助您自动化此任务并节省宝贵时间。下面,您将找到基于公式和其他实用解决方案,适用于不同的实际场景,包括处理动态数据区域或大型数据集。

使用公式返回一行或一列中的第一个非空单元格

使用公式返回一行或一列中的最后一个非空单元格

使用VBA宏返回第一个或最后一个非空单元格值

通过使用Excel的筛选功能查找第一个或最后一个非空单元格


arrow blue right bubble 使用公式返回一行或一列中的第一个非空单元格

要从一行或一列中提取第一个包含数据的单元格,您可以使用INDEXMATCH函数的组合。当您希望以编程方式检索该值,并保持工作表随底层数据变化而动态更新时,这种方法非常适用。以下是具体操作方法:

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. 按下回车键。范围中第一个非空(或根据公式逻辑非零)单元格的值将如下所示显示:

press Enter key to get the result

注意事项与提示:

  • 在上述公式中,您可以调整A1:A13以引用任何列或引用一行(如第1行为1:1,或B2:M2为某行的一部分)。
  • 此方法可可靠地应用于单行或单列。对于表格或多选区域,请考虑对每一行或列单独应用公式。
  • 如果公式返回错误(#N/A),请仔细检查您的范围是否确实包含至少一个非空、非零的单元格。
  • 请注意,对于真正的空白单元格(""),如果您只想忽略空单元格而不是零,请将<>0替换为<>""
a screenshot of kutools for excel ai

使用 Kutools AI 解锁 Excel 魔法

  • 智能执行:执行单元格操作、分析数据和创建图表——所有这些都由简单命令驱动。
  • 自定义公式:生成量身定制的公式,优化您的工作流程。
  • VBA 编码:轻松编写和实现 VBA 代码。
  • 公式解释:轻松理解复杂公式。
  • 文本翻译:打破电子表格中的语言障碍。
通过人工智能驱动的工具增强您的 Excel 能力。立即下载,体验前所未有的高效!

arrow blue right bubble 使用公式返回一行或一列中的最后一个非空单元格

要从给定范围内的最后一个非空单元格中获取值,基于数组的LOOKUP公式提供了一种高效且直接的解决方案,特别适用于自动识别列表或汇总表中的最新数据条目。

1. 在目标范围旁边的空白单元格中输入以下公式:

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

此公式扫描指定范围并返回最后一个非空单元格的值。例如,使用A1:A13作为范围:

apply a formula to return the last non blank cell

2。按下 回车键后,Excel将计算并显示最后一个非空单元格的值:
press Enter key to get the result

注意事项与建议:

  • 您可以将此公式用于任何单列或单行(如B1:B20F8:F30或第2行为2:2等)。根据需要更新范围引用。
  • 如果您的数据包含您想忽略的零,可以将A1:A13<>""替换为A1:A13<>0,但请确保真正的空白单元格与零匹配您的意图。
  • 此方法最适合简单的数据范围。对于包含返回“”(空文本)公式的范围,该公式将此类单元格视为空白。
  • 如果所有单元格均为空,则公式将返回#N/A错误。

arrow blue right bubble 使用VBA宏返回第一个或最后一个非空单元格值

对于处理大型数据集或需要自动化重复任务的用户,简单的VBA宏可以极大地简化流程——尤其是在范围变化或涉及多行多列的情况下。与公式不同,VBA执行按需操作,如查找第一个或最后一个非空单元格,非常适合在多个范围内进行重复操作。

1. 通过进入“开发工具”选项卡>“Visual Basic”打开VBA编辑器。在出现的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 助手:基于智能执行,彻底革新数据分析 生成代码创建自定义公式分析数据并生成图表调用 Kutools Functions
热门功能:查找、选中项的背景色或标记重复项|删除空行|合并列或单元格且不丢失数据|四舍五入(无公式)...
高级 LOOKUP多条件查找 (VLookup)多值查找 (VLookup)多表查找 (VLookup Across Multiple Sheets)模糊查找 (Fuzzy Lookup)...
高级下拉列表快速创建下拉列表依赖型下拉列表多选下拉列表...
列管理器添加指定数量的列移动列切换隐藏列的可见状态比较区域及列...
特色功能网格聚焦设计视图增强编辑栏工作簿 & 工作表管理器资源库(自动文本)|日期提取合并数据加密/解密单元格按列表发送电子邮件超级筛选特殊筛选(筛选粗体/倾斜/删除线等)...
热门15 大工具集12 款文本工具添加文本删除特定字符等)50+ 种图表 类型甘特图等)40+ 实用公式基于生日计算年龄等)19 款插入工具插入二维码按路径插入图片等)12 种转换工具小写金额转大写汇率转换等)7 款合并与分割工具高级合并行分割单元格等)...更多精彩等你发现
使用 Kutools,支持您的首选语言——包括英语、西班牙语、德语、法语、中文及40 多种其他语言!

用 Kutools for Excel 加速你的 Excel 技能,体验前所未有的高效办公。 Kutools for Excel 提供300 多项高级功能,助您提升效率,节省大量时间。点击此处,获取你最需要的功能...


Office Tab 为 Office 带来标签式界面,让你的工作更加轻松

  • 在 Word、Excel、PowerPoint 启用标签式编辑和阅读
  • 在同一窗口的新标签中打开和创建多个文档,无需新建窗口。
  • 办公效率提升50%,每天帮你减少上百次鼠标点击!