Excel按ID分组生成对应工作表并提取匹配全量数据的函数方案
按ID拆分数据到对应工作表的公式实现方案
适用Excel 365/2021及以上版本(用FILTER函数)
- 先给每个目标工作表(Sheet a、Sheet b等)复制好和原始表一致的表头
- 在目标工作表的首行数据单元格(比如Sheet a的A2)输入公式:
=FILTER(原始表!A:Z, 原始表!$A:$A="a")
- 把
原始表替换成你实际的原始数据工作表名称 $A:$A是原始表中存放ID的列,根据你的数据调整A:Z是原始表的全量数据范围,按需修改列数- 每个工作表只需把公式里的
"a"改成对应ID(比如Sheet b改成"b")
这个公式会自动提取所有匹配对应ID的全量数据,无需拖拽,数据更新时会自动同步。
适用旧版Excel(无FILTER函数,用INDEX+SMALL组合)
- 同样先复制表头到目标工作表
- 在Sheet a的A2单元格输入数组公式:
=IFERROR(INDEX(原始表!A:A, SMALL(IF(原始表!$A:$A="a", ROW(原始表!$A:$A)), ROW(A1))), "")
- 旧版Excel需要按
Ctrl+Shift+Enter确认公式,365版本直接回车即可 - 横向拖拽公式到所有数据列,再纵向拖拽直到单元格显示空值
- 其他工作表同样只需修改公式中的ID值(
"a"改"b"等)
这个公式会按顺序提取匹配ID的行数据,IFERROR用来避免无数据时显示错误值。
内容的提问来源于stack exchange,提问作者Hoàng Trinh Vũ
相关产品推荐
相关产品推荐

