如何简化识别列中首个空白行并重新生成列表的Excel公式?
简化实现方案
核心思路
先定位目标列(以B列为例)首个空白行的行号,再从该行开始提取内容到C列,以下两种方案逻辑直观易懂,适配小数据量场景:
方案1:逐行填充(兼容所有Excel版本)
在C1单元格输入公式后下拉填充:
=IF(ROW() >= MATCH(TRUE, ISBLANK(B:B), 0), INDEX(B:B, ROW()), "")
如果需要跳过首个空白行本身,从它的下一行开始提取,调整公式为:
=IF(ROW() >= MATCH(TRUE, ISBLANK(B:B), 0)+1, INDEX(B:B, ROW()), "")
方案2:动态数组一次性生成(Excel 365/2021适用)
在C1单元格输入公式,结果会自动溢出到下方单元格:
=FILTER(B:B, ROW(B:B) >= MATCH(TRUE, ISBLANK(B:B), 0), "")
若要跳过首个空白行,修改为:
=FILTER(B:B, ROW(B:B) >= MATCH(TRUE, ISBLANK(B:B), 0)+1, "")
关键逻辑说明
MATCH(TRUE, ISBLANK(B:B), 0):精准获取B列第一个空白行的行号- 方案1通过
ROW()判断当前行是否达到起始位置,用INDEX提取对应内容 - 方案2借助
FILTER直接筛选符合行号条件的内容,无需手动下拉操作
内容的提问来源于stack exchange,提问作者james15c
相关产品推荐
相关产品推荐

