KutoolsforOffice — 一套方案,五大工具。事半功倍。

如何快速定位行或列中的第一个或最后一个非空单元格?

作者Xiaoyang修改日期

在日常 Excel 工作中,您经常会遇到部分单元格包含数据、其余为空的数据集。此时,快速定位某行或某列中第一个或最后一个已填充的单元格往往十分必要。数据量较小时,这轻而易举;但在较长的行或列中,手动查找不仅效率低下、耗时,还容易出错。

有多种实用方法可高效获取行或列中第一个或最后一个非空单元格的值,助您轻松实现任务自动化,节省宝贵时间。以下提供基于公式的解决方案及其他实操技巧,适用于各类实际场景,包括动态区域和大型数据集的处理。

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

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

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

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


蓝色右向箭头气泡使用公式返回行或列中的第一个非空单元格

要从行或列中提取首个包含数据的单元格,可结合使用 INDEXMATCH 函数。当您希望以编程方式检索数值,并在底层数据变动时自动保持工作表动态更新,此方法尤为高效。操作步骤如下:

1. 在紧邻您数据区域的空白单元格中输入以下公式:

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

例如,如果您的数据位于 A1 至 A13 单元格中,该公式将返回第一个非空且非零的单元格,如下例所示:

应用公式以返回第一个非空单元格

2. 按下 Enter 键,范围内第一个非空(或根据公式逻辑非零)单元格的值将如下所示:

按 Enter 键获取结果

注意事项与提示:

  • 在上述公式中,您可以调整 A1:A13 以引用任意列,或引用某一行(例如)1:1 表示第 1 行,或 B2:M2 表示该行中的某个子范围)。
  • 此方法在单行或单列上稳定可靠。对于表格或多选区域,建议将公式分别应用于每一行或每一列。
  • 如果公式返回 #N/A 错误,请仔细检查所选区域是否确实包含至少一个非空且非零的单元格。
  • 请注意,若要仅忽略空单元格(即真正的空值 ““)而非零值,请将 0 替换为""
kutools for excel AI 的截图

借助 KUTOOLS AI 解锁 Excel 的神奇功能

  • 智能执行:只需输入简单命令,即可执行单元格操作、分析数据并创建图表。
  • 自定义公式:生成量身定制的公式,助您优化工作流程!
  • VBA 编码:轻松编写并运行 VBA 代码。
  • 公式解析:轻松掌握复杂公式,一目了然!
  • 文本翻译:轻松打破电子表格中的语言障碍!
借助 AI 驱动的工具提升您的 Excel 能力。立即下载,体验前所未有的高效!

蓝色右向箭头气泡使用公式返回行或列中的最后一个非空单元格

要获取指定范围内最后一个非空单元格的值,基于数组的 LOOKUP 公式提供了一种高效直接的解决方案,特别适用于动态或变化的数据,能自动识别列表或汇总表中的最新数据条目,助您轻松掌握实时信息!

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

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

此公式会扫描指定区域,并返回最后一个非空单元格的值。例如,将区域设为 A1:A13

应用公式以返回最后一个非空单元格

2. 按下 Enter 后,Excel 将计算并显示最后一个非空单元格中的值:
按 Enter 键获取结果

注意事项与建议:

  • 您可在任意单列或单行中使用此公式(如 )B1:B20F8:F302:2 等),只需根据需要更新区域引用即可。
  • 如果您的数据包含希望忽略的零值,可将 A1:A13"" 替换为 A1:A130,但请注意确保“真正空白”与“零值”的处理方式符合您的预期。
  • 此方法最适合处理简单区域。对于包含返回 ““(空文本)公式的区域,系统会将这类单元格视为空白。
  • 如果所有单元格均为空白,公式将返回 #N/A 错误。

蓝色右向箭头气泡 使用 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. 要执行代码,请单击 VBA 编辑器中的运行按钮运行按钮。系统将提示您选择要搜索非空单元格的目标区域;确认选择后,对话框将显示第一个或最后一个非空单元格的值(具体取决于您运行的宏)。

  • 这些宏高度灵活,无论数据量大小,均适用于行与列。
  • VBA 支持自动化与可重复处理,是应对频繁或大规模任务的理想之选。
  • 运行宏前,请务必保存工作簿,并根据需要启用宏;在应用于重要数据前,始终先在样本数据上测试,以确保结果准确无误。

蓝色右向箭头气泡 通过 Excel 的筛选功能查找第一个或最后一个非空单元格

对于需要快速、直观识别非空值的用户(尤其是面对超长数据列时),Excel 内置的筛选功能可一目了然地突出显示非空条目。虽然此方法不会自动将值返回到其他单元格,但在数据分析过程中用于审阅或导航极为高效。

以下是通过筛选直观定位第一个或最后一个非空单元格的方法:

  1. 请选择包含您数据的列或行。为便于筛选,建议直接选中整列(例如,单击列标题字母)。
  2. 单击数据选项卡,然后选择筛选
  3. 单击区域或表格标题中的小筛选箭头。
  4. 取消勾选(空白)选项,即可仅显示已填充的单元格。
  5. 筛选后,列顶部第一个可见值即为首个非空单元格;滚动到底部即可查看最后一个。

优势:筛选方法快捷,无需公式,即使面对数千行数据也能高效运行。
劣势:此方案仅为视觉呈现——无法将结果输出到单元格,也不支持公式或 VBA 那样的自动化。尽管如此,它仍非常适合手动检查、审阅与交互式数据探索。

故障排除与建议:
如果筛选似乎无效,请确保未仅选择部分数据,否则可能导致筛选应用错误。操作完成后,单击数据 > 清除即可恢复完整数据视图。


最佳办公效率工具

🤖KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行   |  生成代码|  创建自定义公式  |  数据分析及生成图表|  调用 Kutools Functions……
热门功能查找、高亮或标记重复项   |  删除空白行   |  合并列或单元格且不丢失数据   |  不使用公式的四舍五入……
高级 LOOKUP多条件 VLookup  |  多值 VLookup  |   跨多工作表 VLookup   |   模糊查找……
高级下拉列表快速创建下拉列表   |  级联下拉列表   |  多选下拉列表……
列管理器添加指定数量的列|移动列|切换隐藏列的可见性状态|比较区域与列……
特色功能网格聚焦   |  设计视图   |增强编辑栏   | 工作簿和表管理器   |  资源库(自动文本)|  日期提取   |  汇总工作表  |  加密/解密单元格   | 按列表发送邮件   |  超级筛选   |   特殊筛选(筛选粗体单元格/斜体/删除线……) ......
精选 15 工具集12 文本工具添加文本删除特定字符,……)|   50+ 图表 类型甘特图,……)|   40+ 实用公式基于生日计算年龄,……)|   19 插入工具插入二维码从路径插入图片,……)|   12 转换工具小写金额转大写汇率转换,……)|   7 合并和拆分工具高级合并行分割单元格,……)|……更多
在您的首选语言中使用 Kutools – 支持英语、西班牙语、德语、法语、中文及 40+ 种其他语言!

使用 Kutools for Excel 大幅提升您的 Excel 技能,体验前所未有的高效。Kutools for 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 天全功能试用— 无需注册,无需信用卡
  • 超值之选— 比单独购买插件更省钱