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

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

作者Amanda Li修改日期

如果需要从单列或单行区域中提取第一个值(即第一个非空且自动忽略错误的单元格),可使用以下基于 INDEXMATCH 函数的公式。如无需忽略区域中的错误,只需在上述公式中加入 ISBLANK 函数即可。

获取列中第一个非空值,第1行

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


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

如上所示,若需获取列表中的第一个非空值并忽略错误,可在 MATCH 函数中嵌套使用 INDEX 函数 “INDEX((range 0),0)“,以查找非空单元格。随后,通过 MATCH 函数定位第一个非空单元格的位置,并将该位置传递给外层 INDEX 函数,从而提取对应的值。

通用语法

=INDEX()range,MATCH(TRUE,INDEX(()))range<>0),0),0))

  • range:指定的单列或单行区域,返回其中首个包含文本或数字(非空且忽略错误值)的单元格。

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

=INDEX()B4:B15,MATCH(TRUE,INDEX(()))B4:B150),0),0))

获取列中第一个非空值,第2行

公式说明

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

  • INDEX((B4:B150),0) 该公式会依次判断 B4:B15 区域中的每个值。若单元格为空,则返回 FALSE;若单元格为错误值,则返回该错误值本身;若单元格包含数字或文本,则返回 TRUE。由于本 INDEX 公式的 row_num 参数为 0,公式将返回整列的值数组,如下所示:{FALSE;#REF!;TRUE;TRUE;FALSE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE}
  • MATCH(TRUE,)INDEX((B4:B150),0),0)=MATCH(TRUE,){FALSE;#REF!;TRUE;TRUE;FALSE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE},0) 此处 match_type 0 会强制 MATCH 函数返回数组中第一个完全为 TRUE 的位置。因此,函数将返回 3.
  • INDEX(B4:B15,)MATCH(TRUE,)INDEX((B4:B150),0),0)) = INDEX(B4:B15,3): 然后,INDEX 函数会返回 B4:B15 区域中第 3 个值,即 extendoffice

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

要提取列表中第一个包含错误的非空值,可以使用 ISBLANK 函数检查每个单元格是否为空。随后,INDEX 函数会根据 MATCH 提供的位置返回第一个非空值。

通用语法

=INDEX()range,MATCH(FALSE,ISBLANK())range),0))

√ 注意:此公式为数组公式,需通过 Ctrl + Shift + Enter 输入(Excel 365 和 Excel 2021 版本除外)。

  • range:指定的单列或单行区域,将返回首个包含文本、数字或错误值的非空单元格。

要获取列表中第一个非空值(包含错误),请在单元格 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,)ISBLANK(B4:B15),0)=MATCH(FALSE,){TRUE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE},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 Functions……
热门功能查找、高亮显示或标记重复项  |  删除空白行  |  合并列或单元格且不丢失数据  |  不使用公式的四舍五入……
超级 VLookup多条件查询  |  多值返回  |  跨多工作表  |  模糊查找……
高级下拉列表轻松下拉列表  |  依赖下拉列表  |  多选下拉列表……
列管理器添加指定数量的列  |  移动列  |  切换隐藏列的显示状态  |比较列与选择相同/不同单元格……
特色功能网格聚焦  |  设计视图  |  增强编辑栏  |  工作簿和表管理器|资源库(自动文本)|  日期提取  |  汇总工作表  |  加密/解密单元格  |  按列表群发邮件  |  超级筛选  |  特殊筛选(筛选粗体单元格/斜体/删除线……) ......
顶级 15 工具组12 文本工具添加文本删除特定字符……)|  50+ 图表 类型甘特图……)|  40+ 实用公式基于生日计算年龄……)|  19 插入工具插入二维码按路径插入图片……)|  12 转换工具小写金额转大写汇率转换……)|  7 合并和拆分工具高级合并行拆分 Excel 单元格……)|……以及更多
在您的首选语言中使用 Kutools——支持英语、西班牙语、德语、法语、中文以及 40+ 种其他语言!

Kutools for Excel 拥有超过 300 项功能,让您的需求一键轻松实现……


Office Tab —— 让 Microsoft Office(包括 Excel)支持标签式阅读与编辑

  • 一秒即可切换数十个已打开的文档!
  • 每天为您减少上百次鼠标点击,轻松告别鼠标手困扰。
  • 查看和编辑多个文档时,工作效率提升 50%。
  • 为 Office(包括 Excel)引入高效标签页,让您同样畅享如 Chrome、Edge 和 Firefox 般的便捷体验。