跳至主要内容

获取列或行中的第一个非空值

Author: Amanda Li Last Modified: 2025-05-07

要从单列或单行范围中检索第一个值(第一个非空单元格,忽略错误),可以使用基于INDEXMATCH 函数的公式。但是,如果不想忽略范围中的错误,可以在上述公式中添加ISBLANK函数。

get first non-blank value in column row 1

获取列或行中的第一个非空值(忽略错误)
获取列或行中的第一个非空值(包括错误)


获取列或行中的第一个非空值(忽略错误)

要检索列表中如上所示的第一个非空值(忽略错误),可以使用MATCH函数内部的INDEX函数“INDEX((range<>0),0)”来查找非空单元格。然后使用MATCH函数定位第一个非空单元格的位置。该位置将传递给外部的INDEX以检索该位置的值。

通用语法

=INDEX(范围,MATCH(TRUE,INDEX((范围<>0),0),0))

  • 范围:返回第一个非空单元格的单列或单行范围,包含文本或数字值,同时忽略错误。

要检索列表中忽略错误的第一个非空值,请在单元格E4中复制或输入以下公式,并按Enter键获取结果:

=INDEX(B4:B15,MATCH(TRUE,INDEX((B4:B15<>0),0),0))

get first non-blank value in column row 2

公式解释

=INDEX(B4:B15,MATCH(TRUE,INDEX((B4:B15<>0),0),0))

  • INDEX((B4:B15<>0),0) 此片段评估范围B4:B15中的每个值。如果单元格为空,则返回FALSE;如果单元格包含错误,则片段将返回错误本身;如果单元格包含数字或文本,则返回TRUE。由于此INDEX公式的row_num参数为0,因此片段将返回整个列的值数组,如下所示:{FALSE;#REF!;TRUE;TRUE;FALSE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE}
  • MATCH(TRUE,MATCH(TRUE,INDEX((B4:B15<>0),0),0),0) = MATCH(TRUE,MATCH(TRUE,{FALSE;#REF!;TRUE;TRUE;FALSE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE},0),0) match_type 0 强制MATCH函数返回数组中第一个精确TRUE的位置。因此,函数将返回3
  • INDEX(B4:B15,MATCH(TRUE,INDEX((B4:B15<>0),0),0)) = INDEX(B4:B15,3): INDEX函数随后返回范围B4:B15中的第3个值,即extendoffice

获取列或行中的第一个非空值(包括错误)

要检索列表中包括错误的第一个非空值,可以简单地使用ISBLANK函数检查列表中的单元格是否为空。然后INDEX将根据MATCH提供的位置返回第一个非空值。

通用语法

=INDEX(范围,MATCH(FALSE,ISBLANK(范围),0))

√ 注意:这是一个数组公式,需要您使用Ctrl + Shift + Enter输入,除非是在Excel 365和Excel 2021中。

  • 范围:返回第一个非空单元格的单列或单行范围,包含文本、数字或错误值。

要检索列表中包括错误的第一个非空值,请在单元格E7中复制或输入以下公式,并按Ctrl + Shift + Enter获取结果:

=INDEX(B4:B15,MATCH(FALSE,ISBLANK(B4:B15),0))

公式解释

=INDEX(B4:B15,MATCH(FALSE,ISBLANK(B4:B15),0))

  • ISBLANK(B4:B15)ISBLANK函数检查范围B4:B15中的单元格是否为空。如果是,返回TRUE;如果不是,返回FALSE。因此,函数将生成如下数组:{TRUE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE}
  • MATCH(FALSE,MATCH(FALSE, ISBLANK(B4:B15) ,0),0) = MATCH(FALSE,MATCH(FALSE, {TRUE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE} ,0),0) match_type 0 强制MATCH函数返回数组中第一个精确FALSE的位置。因此,函数将返回2
  • INDEX(B4:B15,MATCH(FALSE,ISBLANK(B4:B15),0)) = INDEX(B4:B15,2): INDEX函数随后返回范围B4:B15中的第2个值,即#REF!

相关函数

Excel INDEX函数

Excel INDEX函数根据给定的位置从范围或数组中返回显示的值。

Excel MATCH函数

Excel MATCH函数在单元格范围内搜索特定值,并返回该值的相对位置。


相关公式

使用INDEX和MATCH进行精确匹配

如果您需要在Excel中查找有关特定产品、电影或人物等的信息,应该充分利用INDEX和MATCH函数的组合。

获取列中的第一个文本值

要从单列范围中检索第一个文本值,您可以使用基于INDEX和MATCH函数的公式,也可以使用基于VLOOKUP函数的公式。

使用通配符定位第一个部分匹配

有时,您需要在Excel的一系列数值中获取包含特定数字的第一个部分匹配的位置。在这种情况下,结合使用星号(*)的MATCH和TEXT公式(星号是匹配任意数量字符的通配符)会有所帮助。如果您还需要知道该位置的确切值,可以在公式中添加INDEX函数。

查找第一个部分匹配的数字

有时,您需要在Excel的一系列数值中获取包含特定数字的第一个部分匹配的位置。在这种情况下,结合使用星号(*)的MATCH和TEXT公式(星号是匹配任意数量字符的通配符)会有所帮助。如果您还需要知道该位置的确切值,可以在公式中添加INDEX函数。


最佳的办公生产力工具

Kutools for Excel - 助您脱颖而出

🤖 Kutools AI 助手:基于以下功能彻底改变数据分析方式:智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用Kutools函数
热门功能查找、高亮或标记重复项  |  删除空行  |  合并列或单元格而不丢失数据  |  四舍五入无需公式 ...
超级VLookup多条件  |  多值  |  跨多个工作表  |  模糊查找...
高级下拉列表简易下拉列表  |  级联下拉列表  |  多选下拉列表...
列管理器添加指定数量的列  |  移动列  |  切换隐藏列的可见状态  比较列以 选择相同和不同的单元格 ...
精选功能网格聚焦  |  设计视图  |  增强编辑栏  |  工作簿与工作表管理器 | 资源库(自动文本)  |  日期提取  |  合并数据  |  加密/解密单元格  |  按列表发送电子邮件  |  超级筛选  |  特殊筛选(筛选粗体/斜体/删除线...) ...
排名前15的工具集12个 文本 工具添加文本删除特定字符 ...)  |  50多种 图表 类型甘特图 ...)  |  40多种实用 公式基于生日计算年龄 ...)  |  19个 插入 工具插入二维码从路径插入图片 ...)  |  12个 转换 工具小写金额转大写汇率转换 ...)  |  7个 合并与拆分 工具高级合并行分割Excel单元格 ...)  |  ... 还有更多

Kutools for Excel拥有超过300种功能,确保您需要的功能只需一键即可实现...


Office Tab - 在Microsoft Office(包括Excel)中启用标签式阅读和编辑

  • 一秒内切换数十个打开的文档!
  • 每天为您减少数百次鼠标点击,告别鼠标手。
  • 在查看和编辑多个文档时,您的工作效率将提高50%。
  • 为Office(包括Excel)带来高效的标签页,就像Chrome、Edge和Firefox一样。