多列合并无空白唯一列表:公式无法拖拽及筛选异常求助
解决方案
问题根源
你原来的公式仅返回堆叠后第一个非空值,且依赖动态数组溢出显示,启用筛选后,溢出区域会被表格格式干扰导致错位。要实现可拖拽的逐行显示,需要改用逐行提取唯一非空值的公式。
可拖拽公式
将以下公式放入目标列的首个单元格(比如A2),然后向下拖拽填充:
=IFERROR(INDEX(UNIQUE(FILTER(VSTACK(SKUs!B$3:B$1000,SKUs!E$3:E$1000,SKUs!H$3:H$1000,SKUs!K$3:K$1000,SKUs!N$3:N$1000,SKUs!Q$3:Q$1000,SKUs!T$3:T$1000),VSTACK(SKUs!B$3:B$1000,SKUs!E$3:E$1000,SKUs!H$3:H$1000,SKUs!K$3:K$1000,SKUs!N$3:N$1000,SKUs!Q$3:Q$1000,SKUs!T$3:T$1000)<>"")),ROW(A1)),"")
公式说明
VSTACK(...):将SKUs表中B、E、H、K、N、Q、T列的3-1000行数据堆叠成单列FILTER(..., ...<>""):过滤掉堆叠列中的所有空值UNIQUE(...):对过滤后的非空值去重,得到唯一值列表INDEX(..., ROW(A1)):逐行提取列表中的第N个值(拖拽时ROW(A1)自动变为ROW(A2)、ROW(A3)...)IFERROR(..., ""):当提取超出唯一值数量时,返回空单元格,避免显示错误
额外提示
- 保持公式中所有列行引用的绝对符号
$,确保拖拽时目标区域不会偏移 - 若后续需要扩展数据行数,只需把公式中的
1000改为更大的数值即可
内容的提问来源于stack exchange,提问作者Phantom-8519
相关产品推荐
相关产品推荐

