多列区域数据提取公式需求:排除空白行提取B3:B、D3:D列数据
提取指定多列非空数据的Excel公式方案
需求回顾
从第3行开始,提取B列、D列的所有非空数据,忽略A列和C列,最终输出无空白单元格的单列结果。
方案1:适用于Excel 365/2021(动态数组版本)
利用动态数组函数快速合并列并过滤空值,输入公式后自动溢出结果:
=TOCOL(HSTACK(B3:B, D3:D), 1)
HSTACK(B3:B, D3:D):将B列(第3行起)和D列(第3行起)横向合并为一个连续区域TOCOL(..., 1):把合并后的区域转换为单列,同时自动忽略所有空白单元格
方案2:适用于旧版Excel(非动态数组版本)
使用数组公式实现,输入公式后按Ctrl+Shift+Enter确认,再下拉填充直到出现空白:
=IFERROR(INDEX($B:$B,SMALL(IF($B$3:$B<>"",ROW($B$3:$B)),ROW(A1))),IFERROR(INDEX($D:$D,SMALL(IF($D$3:$D<>"",ROW($D$3:$D)),ROW(A1)-COUNTA($B$3:$B))),""))
- 逻辑说明:优先提取B列的非空数据,当B列数据取完后,自动切换提取D列的非空数据,全程跳过空白单元格
示例验证
对应你提供的示例数据,使用上述公式后,结果列会依次得到:q、w、e、r、r、t,与预期结果完全匹配。
内容的提问来源于stack exchange,提问作者icecream sugar black
相关产品推荐
相关产品推荐

