You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将多列区域转换为单列 适配UNIQUE、FILTER等公式运算

多列区域转单列的Excel公式解决方案

适用Excel 365/2021及以上版本(最简方案)

  • 核心函数为TOCOL,该函数原生支持将任意二维区域按列优先的顺序合并为单列,完全匹配你手动拼接多列的需求。
  • 基础用法示例:将B4:F93整段区域转为单列,只需写:
    =TOCOL(B4:F93)
  • 常用参数说明:第二个参数可指定过滤规则
    • 输入1:忽略区域内的错误值
    • 输入2:忽略区域内的空值
    • 输入3:同时忽略错误值和空值
  • 你的差集计算需求可直接简化为如下公式,无需手动拼接每一列:
    =FILTER(TOCOL(B4:F93,2), NOT(COUNTIF(H5:H, TOCOL(B4:F93,2))))
  • 后续可直接嵌套排序、去重操作,不会出现维度不匹配问题:
    =SORT(UNIQUE(FILTER(TOCOL(B4:F93,2), NOT(COUNTIF(H5:H, TOCOL(B4:F93,2))))))

适用低版本Excel(无TOCOL函数的替代方案)

使用INDEX+SEQUENCE组合实现相同效果,原理为按遍历顺序计算每个值对应的行号、列号,逐行提取:
=INDEX($B$4:$F$93, MOD(SEQUENCE(ROWS(B4:F93)*COLUMNS(B4:F93),,0), ROWS(B4:F93))+1, INT(SEQUENCE(ROWS(B4:F93)*COLUMNS(B4:F93),,0)/ROWS(B4:F93))+1)

补充说明

如果需要按行优先的顺序合并为单列(先读完第一行所有列,再读第二行),可搭配TOROW+TRANSPOSE实现:
=TRANSPOSE(TOROW(B4:F93,2))


内容的提问来源于stack exchange,提问作者Alluvian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 18:06:06