如何用公式提取数据集里的唯一数组及对应门店列表?
高效提取固定尺寸唯一数组及对应门店列表方案
一、提取固定行列尺寸的唯一数组
假设你的门店折扣数组是固定行列尺寸(比如每个门店对应N行M列的折扣区域),无需手动定义多个工作表区域,用Excel动态数组函数即可高效实现:
生成数组的唯一文本标识:
假设门店编号在A列,每个门店的折扣数组对应B2:C4这类固定区域(示例为3行2列),在辅助列(如E列)输入公式并填充:=TEXTJOIN("|", TRUE, B2:C4)该公式会把每个门店的折扣值拼接成唯一字符串,作为数组的标识。
提取唯一数组并还原:
在空白区域输入公式,提取所有唯一的数组标识:=UNIQUE(E2:E100)若要直接将标识还原为原始数组结构,可结合
TEXTSPLIT和INDEX:=INDEX(TEXTSPLIT(UNIQUE(E2:E100), "|"), , SEQUENCE(3,2))注意:
SEQUENCE(3,2)需替换为你实际的数组行列数。
二、获取每个唯一数组对应的门店唯一列表
方案1:用GROUPBY函数(Excel 365及以上版本)
直接通过分组聚合实现,效率最高:
=GROUPBY(E2:E100, A2:A100, LAMBDA(x, TEXTJOIN(", ", TRUE, UNIQUE(x))), 0)
- 第一参数:数组的唯一文本标识列(分组依据)
- 第二参数:门店编号列
- 第三参数:用
LAMBDA对每组门店去重后拼接成列表 - 第四参数
0:保留所有分组结果
方案2:兼容旧版本的UNIQUE+FILTER组合
先提取唯一的数组标识(如G2:Gx区域),在H2输入公式下拉:
=TEXTJOIN(", ", TRUE, UNIQUE(FILTER(A:A, E:E=G2)))
核心优势
- 无需手动定义多个区域,自动适配全量数据
- 动态数组函数自动扩展结果,无需手动填充
- 用文本标识替代数组直接对比,大幅提升处理效率,尤其适用于大数据量场景
内容的提问来源于stack exchange,提问作者Dreterran
相关产品推荐
相关产品推荐

