基于另一列值统计相同账单编号的数量(Excel公式需求)
解决Excel跨工作表统计关联账单人数的问题
需求概述
在Sheet1的C列编写公式,统计Sheet2的H列中,与当前行A列人员关联的相同账单编号的总人数。示例:
- Nick、Marc、Lucas同属一个账单 → Nick的C列值为3
- George、Lucas同属一个账单 → George的C列值为2
- Matt、Kim同属一个账单 → Matt的C列值为2
注:Sheet1包含A/B/C列,Sheet2包含F/G/H列,F列是人员,H列是账单编号
可用公式
方案1(Excel 365/2021+ 推荐)
在C2单元格输入公式后下拉:
=COUNTIFS(Sheet2!H:H, XLOOKUP(A2, Sheet2!F:F, Sheet2!H:H))
方案2(兼容旧版Excel)
如果你的Excel不支持XLOOKUP,用VLOOKUP替代:
=COUNTIFS(Sheet2!H:H, VLOOKUP(A2, Sheet2!F:H, 3, FALSE))
方案3(处理一人对应多账单的场景)
若同一人员可能关联多个不同账单,需要统计所有关联账单的总人数,用这个公式:
=SUMPRODUCT(--(Sheet2!H:H=TRANSPOSE(FILTER(Sheet2!H:H, Sheet2!F:F=A2))))
公式说明
- 方案1/2核心逻辑:先通过
XLOOKUP/VLOOKUP找到当前A列人员对应的账单编号,再用COUNTIFS统计该账单在Sheet2的H列中出现的次数,即关联的总人数。 - 方案3逻辑:用
FILTER提取当前人员所有关联的账单编号,转置后和Sheet2的H列匹配,SUMPRODUCT统计所有匹配的次数总和,覆盖一人多账单的情况。
注意事项
- 把公式里的
Sheet2替换成你实际的工作表名称,若名称含空格/特殊字符,需用单引号包裹,比如'2024账单数据'!H:H - 确保Sheet2的F列是人员姓名、H列是账单编号,和需求列对应
- 提前统一人员姓名的拼写格式,避免因大小写/空格导致匹配失败
内容的提问来源于stack exchange,提问作者vujke
相关产品推荐
相关产品推荐

