![86ab0e7167dd15bfbf45b8c204b24ba1.png](https://i-blog.csdnimg.cn/blog_migrate/562a66eceb7ff8c3fabe4ea24d526880.jpeg)
![0d6f8051f88ee7c3bf601a9c9468780f.png](https://i-blog.csdnimg.cn/blog_migrate/9197fe8752b0b8a6b8d732892f2a7cb0.jpeg)
题目:根据图1 的市场消费工作表,按城市统计出各项目的消费数据.
解题思路:
1、要计算的是消费数据之和,而且有两个条件,一个是项目,一个是城市。所以用sumifs()函数。
2、因为 =sumifs(求和区域,条件区域1,条件1,条件区域2,条件2),其中求和区域是c:c 列的消费数据,条件区域是B:B的推广计划,条件1是“项目”,例如是“人力资源师”,条件区域2同样是B列,条件是“城市”,例如是“保定”。
3、关键是要找出条件1和条件2。因为B列中的条件区域信息中城市和项目都是用编号表示,所以要通过项目编码和城市编码这两个表中确认条件。(其实就是将“人力资源师”的字样转化为H1的字眼,“保定”的字眼转化为BD的字眼。)
=SUMIFS($C:$C,$B:$B,INDEX($F:$F,MATCH(N$5,$G:$G,0))&"*",$B:$B,"???"&INDEX($I:$I,MATCH($M6,$J:$J,0))&"*")
4、INDEX($F:$F,MATCH(N$5,$G:$G,0))-->这个公式是可以匹配到"人力资源师"相对应的编码,INDEX($I:$I,MATCH($M6,$J:$J,0))-->这个公式可以匹配到"保定"相对应的城市编码。
5、看回图1中的B列的信息,它是将条件1和条件2都写在同一列上面。所以我们匹配出H1,和BD后,还要用相应的通配符去填充。最后得出:INDEX($F:$F,MATCH(N$5,$G:$G,0))&"*"
和"???"&INDEX($I:$I,MATCH($M6,$J:$J,0))&"*"
其中*可以表示0个或者多个字符,?表示一个字符。