如何用Excel公式找出3个工作表中共有的Employee ID并汇总到主表
自动汇总三个工作表中共同的Employee ID
适用Excel 365/2021(支持动态数组)
直接在主表(比如命名为Main)的A2单元格输入以下公式,会自动溢出所有同时存在于三个工作表的Employee ID:
=FILTER(Sheet1!A:A, COUNTIF(Sheet2!A:A, Sheet1!A:A)>0 * COUNTIF(Sheet3!A:A, Sheet1!A:A)>0, "无共同匹配ID")
- 公式逻辑:从
Sheet1的ID列中,筛选出同时在Sheet2和Sheet3中存在的ID(COUNTIF>0表示该ID在对应表中存在,*等同于逻辑AND) - 把公式里的
Sheet1/Sheet2/Sheet3替换成你实际的工作表名称即可 - 如果没有任何共同ID,会显示
无共同匹配ID,可自行修改这个提示文本
适用旧版Excel(无动态数组支持)
在主表A2单元格输入以下数组公式,按Ctrl+Shift+Enter确认输入,然后下拉填充直到出现#NUM!停止:
=INDEX(Sheet1!A:A, SMALL(IF((COUNTIF(Sheet2!A:A, Sheet1!A:A)>0)*(COUNTIF(Sheet3!A:A, Sheet1!A:A)>0), ROW(Sheet1!A:A)-ROW(Sheet1!A1)+1), ROW(A1)))
- 注意:如果工作表的ID列有表头,建议把
Sheet1!A:A改成具体数据范围(比如Sheet1!A2:A1000),避免表头被纳入计算,同时提升运算效率 - 下拉时出现
#NUM!说明已经列出所有共同ID,直接删掉这些错误值即可
额外提示
- 公式会保留原工作表中ID的重复项,完全符合你“无需唯一或去重”的需求
- 若某工作表的ID列存在空白单元格,限定具体数据范围(而非整列)能大幅减少公式计算量,避免卡顿
内容的提问来源于stack exchange,提问作者mwilliams
相关产品推荐
相关产品推荐

