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

如何结合SUMIFS与VLOOKUP/INDEX函数统计指定代理数据?

结合SUMIFS与VLOOKUP/INDEX实现指定条件的统计

当然可以结合这些函数完成需求,以下是基于常见表结构的具体解法:

前提假设(可根据实际表结构调整)

  • 表1:存储代理基础信息(如A列=代理ID,B列=代理名称/验证字段)
  • 表2:存储每日记录(如A列=代理ID/名称,B列=日期,C列=状态「Y/N」)
  • 目标:统计代理ID为9、6、5、1、3在202X-01-01至202X-01-04期间的「Y」「N」数量

场景1:表2直接用代理ID,无需表1映射(仅统计指定ID)

直接用SUMIFS结合数组参数批量统计:

统计「Y」的数量

=SUM(SUMIFS(表2!C:C,表2!A:A,{9,6,5,1,3},表2!B:B,">="&DATE(202X,1,1),表2!B:B,"<="&DATE(202X,1,4),表2!C:C,"Y"))

统计「N」的数量

把公式中的"Y"替换为"N"即可:

=SUM(SUMIFS(表2!C:C,表2!A:A,{9,6,5,1,3},表2!B:B,">="&DATE(202X,1,1),表2!B:B,"<="&DATE(202X,1,4),表2!C:C,"N"))

注:Excel 2019及更早版本需按Ctrl+Shift+Enter执行数组输入;365/2021版本直接回车即可。


场景2:表2用代理名称,需通过表1匹配代理ID

用VLOOKUP将目标代理ID映射为名称,再传入SUMIFS统计:

统计「Y」的数量

=SUM(SUMIFS(表2!C:C,表2!A:A,VLOOKUP({9,6,5,1,3},表1!A:B,2,FALSE),表2!B:B,">="&DATE(202X,1,1),表2!B:B,"<="&DATE(202X,1,4),表2!C:C,"Y"))

统计「N」的数量

同样替换"Y"为"N":

=SUM(SUMIFS(表2!C:C,表2!A:A,VLOOKUP({9,6,5,1,3},表1!A:B,2,FALSE),表2!B:B,">="&DATE(202X,1,1),表2!B:B,"<="&DATE(202X,1,4),表2!C:C,"N"))

场景3:仅统计表1中存在的目标代理

如果需要确保统计的代理必须在表1中存在(过滤无效ID),用COUNTIF做合法性校验:

=SUM(SUMIFS(表2!C:C,表2!A:A,IF(COUNTIF(表1!A:A,{9,6,5,1,3}),{9,6,5,1,3}),表2!B:B,">="&DATE(202X,1,1),表2!B:B,"<="&DATE(202X,1,4),表2!C:C,"Y"))

关键注意事项

  • 确保表2的日期为Excel可识别的日期格式(而非纯文本),否则日期条件会失效
  • 若表1存在重复代理ID,需先清理重复数据,避免匹配错误
  • 公式中的202X请替换为实际年份

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 09:55:31