Excel中如何用单行语法合并两个列表并去除所有空值
Excel单行公式合并两个列表并去空值实现方案
以下方案默认List A数据存放在A1:A4区域,List B数据存放在C1:C4区域,可根据实际数据范围修改公式内的区域参数。
适用Excel 365/2021及以上版本(支持动态数组溢出)
直接用内置拼接+过滤函数即可实现,输入公式后会自动溢出填充所有合并后的非空结果,无需手动下拉:
=TOCOL(VSTACK(A1:A4,C1:C4),1)
参数说明:
VSTACK(A1:A4,C1:C4):将两个列表垂直拼接为一个整体数组,包含原始空值TOCOL(...,1):将拼接后的数组转为单列,第二个参数为1表示跳过所有空值
如果需要输出为横向的行结构,把TOCOL替换为TOROW即可。
适用Excel 2019及更早版本
使用数组公式实现,在首个结果单元格输入以下公式,按下Ctrl+Shift+Enter触发数组计算,之后下拉公式直到出现空白单元格即完成填充:
=IFERROR(INDEX($A$1:$A$4,SMALL(IF($A$1:$A$4<>"",ROW($A$1:$A$4)-MIN(ROW($A$1:$A$4))+1),ROW(A1))),IFERROR(INDEX($C$1:$C$4,SMALL(IF($C$1:$C$4<>"",ROW($C$1:$C$4)-MIN(ROW($C$1:$C$4))+1),ROW(A1)-COUNTA($A$1:$A$4))),""))
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

