如何返回一行或一列中的第一个/最后一个非空单元格?
在日常的Excel工作中,经常会遇到只有部分单元格包含值,而其他单元格为空的数据集。通常情况下,您可能需要快速识别某一特定行或列中第一个或最后一个有值的单元格。虽然对于少量条目来说这很容易,但在较长的行或列中,手动查找这些值会变得低效、耗时且容易出错。
有几种实用的方法可以高效地检索一行或一列中的第一个或最后一个非空单元格值,帮助您自动化此任务并节省宝贵时间。下面,您将找到基于公式和其他实用解决方案,适用于不同的实际场景,包括处理动态数据区域或大型数据集。
使用公式返回一行或一列中的第一个非空单元格
要从一行或一列中提取第一个包含数据的单元格,您可以使用INDEX和MATCH函数的组合。当您希望以编程方式检索该值,并保持工作表随底层数据变化而动态更新时,这种方法非常适用。以下是具体操作方法:
1. 在数据区域旁边的一个空白单元格中,输入以下公式:
=INDEX(A1:A13,MATCH(TRUE,INDEX((A1:A13<>0),0),0))
例如,如果您的数据位于A1到A13单元格中,此公式将返回第一个非空且非零的单元格。请参见以下示例:
2. 按下回车键。范围中第一个非空(或根据公式逻辑非零)单元格的值将如下所示显示:
注意事项与提示:
- 在上述公式中,您可以调整A1:A13以引用任何列或引用一行(如第1行为1:1,或B2:M2为某行的一部分)。
- 此方法可可靠地应用于单行或单列。对于表格或多选区域,请考虑对每一行或列单独应用公式。
- 如果公式返回错误(#N/A),请仔细检查您的范围是否确实包含至少一个非空、非零的单元格。
- 请注意,对于真正的空白单元格(""),如果您只想忽略空单元格而不是零,请将
<>0
替换为<>""
。

使用 Kutools AI 解锁 Excel 魔法
- 智能执行:执行单元格操作、分析数据和创建图表——所有这些都由简单命令驱动。
- 自定义公式:生成量身定制的公式,优化您的工作流程。
- VBA 编码:轻松编写和实现 VBA 代码。
- 公式解释:轻松理解复杂公式。
- 文本翻译:打破电子表格中的语言障碍。
使用公式返回一行或一列中的最后一个非空单元格
要从给定范围内的最后一个非空单元格中获取值,基于数组的LOOKUP公式提供了一种高效且直接的解决方案,特别适用于自动识别列表或汇总表中的最新数据条目。
1. 在目标范围旁边的空白单元格中输入以下公式:
=LOOKUP(2,1/(A1:A13<>""),A1:A13)
此公式扫描指定范围并返回最后一个非空单元格的值。例如,使用A1:A13作为范围:
2。按下 回车键后,Excel将计算并显示最后一个非空单元格的值:
注意事项与建议:
- 您可以将此公式用于任何单列或单行(如B1:B20、F8:F30或第2行为2:2等)。根据需要更新范围引用。
- 如果您的数据包含您想忽略的零,可以将
A1:A13<>""
替换为A1:A13<>0
,但请确保真正的空白单元格与零匹配您的意图。 - 此方法最适合简单的数据范围。对于包含返回“”(空文本)公式的范围,该公式将此类单元格视为空白。
- 如果所有单元格均为空,则公式将返回#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内置的筛选功能可以帮助快速突出非空条目。虽然此方法不会自动将值返回到另一个单元格,但在数据分析期间进行审阅或导航时非常有效。
以下是通过筛选直观定位第一个或最后一个非空单元格的方法:
- 选择包含数据的列或行。您可以选择整个列(例如,单击列字母)以便更轻松地筛选。
- 点击“数据”选项卡,然后选择“筛选”。
- 点击范围或表格标题中的小筛选箭头。
- 取消勾选(空白)选项,以便仅保留填充单元格可见。
- 筛选后,列顶部的第一个可见值即为您的第一个非空单元格;滚动到底部即可查看最后一个。
优点: 筛选方法快速,不需要公式,即使对于数千行的列也非常有效。
缺点: 该解决方案仅为视觉效果——它不会将结果输出到单元格,也不支持像公式和VBA那样的自动化。不过,它非常适合手动检查、审阅和交互式数据探索。
故障排除与建议:
如果筛选似乎不起作用,请确保您没有仅选择部分数据,因为这可能导致筛选应用不正确。完成筛选后,点击 数据 > 清除 以恢复完整的数据集视图。
最佳 Office 办公效率工具
🤖 | Kutools AI 助手:基于智能执行,彻底革新数据分析 |生成代码|创建自定义公式|分析数据并生成图表|调用 Kutools Functions… |
热门功能:查找、选中项的背景色或标记重复项|删除空行|合并列或单元格且不丢失数据|四舍五入(无公式)... | |
高级 LOOKUP:多条件查找 (VLookup)|多值查找 (VLookup)|多表查找 (VLookup Across Multiple Sheets)|模糊查找 (Fuzzy Lookup)... | |
高级下拉列表:快速创建下拉列表|依赖型下拉列表|多选下拉列表... | |
列管理器:添加指定数量的列 |移动列 |切换隐藏列的可见状态| 比较区域及列... | |
特色功能:网格聚焦|设计视图|增强编辑栏|工作簿 & 工作表管理器|资源库(自动文本)|日期提取|合并数据|加密/解密单元格|按列表发送电子邮件|超级筛选|特殊筛选(筛选粗体/倾斜/删除线等)... | |
热门15 大工具集:12 款文本工具(添加文本、删除特定字符等)|50+ 种图表 类型(甘特图等)|40+ 实用公式(基于生日计算年龄等)|19 款插入工具(插入二维码、按路径插入图片等)|12 种转换工具(小写金额转大写、汇率转换等)|7 款合并与分割工具(高级合并行、分割单元格等)|...更多精彩等你发现 |
用 Kutools for Excel 加速你的 Excel 技能,体验前所未有的高效办公。 Kutools for Excel 提供300 多项高级功能,助您提升效率,节省大量时间。点击此处,获取你最需要的功能...
Office Tab 为 Office 带来标签式界面,让你的工作更加轻松
- 在 Word、Excel、PowerPoint 启用标签式编辑和阅读
- 在同一窗口的新标签中打开和创建多个文档,无需新建窗口。
- 办公效率提升50%,每天帮你减少上百次鼠标点击!