Excel 2019:基于非级联条件从两列生成合并列表
Excel 2019 合并B、C列生成筛选后的连续列表
需求说明
基于A列非空的条件,将对应行的B列、C列内容合并为一个无空值的连续列表,放置在E列(替代原仅提取B列的公式)。
解决方案公式
在E1单元格输入以下公式,下拉填充至出现空值即可:
=IFERROR(INDEX($B$2:$C$7,AGGREGATE(15,6,(ROW($A$2:$A$7)-ROW($A$2)+1)/($A$2:$A$7<>""),INT((ROWS(E$1:E1)-1)/2)+1),MOD(ROWS(E$1:E1)-1,2)+1),"")
公式拆解
- 筛选符合条件的行号:
AGGREGATE(15,6,(ROW($A$2:$A$7)-ROW($A$2)+1)/($A$2:$A$7<>""),...)计算出A列非空行的相对行号列表,15代表按顺序提取最小值行号,6代表忽略A列空行产生的错误值,只保留有效行号。 - 循环遍历行号:
INT((ROWS(E$1:E1)-1)/2)+1实现对筛选出的行号循环取值,比如第1、2行取第一个符合条件的行,第3、4行取第二个,以此类推。 - 切换提取B/C列:
MOD(ROWS(E$1:E1)-1,2)+1控制列索引,奇数行提取B列(索引1),偶数行提取C列(索引2),实现两列内容交替合并。 - 提取内容并处理空值:
INDEX根据计算出的行、列索引提取对应单元格内容,IFERROR在无更多内容时返回空值,避免公式报错。
内容的提问来源于stack exchange,提问作者DevArchitectMaster
相关产品推荐
相关产品推荐

