看到朋友在对Excel表格数据进行机械操作,想到excel应该是个很强大的应用,这些机械操作应该可以通过函数简化操作的,于是不正经的研究下。
首先我们上图:
简单的需求,把每个店铺的每个月充值分别是200,500,1000,1500,2000的数量相加。
手工一个个找的话眼睛都容易看花。
解决思路,
1、首先考虑excel是否有求和方法:
于是找到SUMIF(range,criteria,sum_range)函数。
查看文档,可以知道这个函数刚好可以满足我们的需求。
SUMIF(条件区域,求和条件,实际求和区域);
2、其次考虑求和是否可以限定我们要求和的区域(比如我们只求西乡店的,就是第2到第11行)
SUMIF函数第一个参数就是可以限定条件区域。
SUNMIF(B2:B11)
这个 B2:B11 表示的就是B列的第2行到第11行。
3、区域限制以后我们接下来就是匹配求和条件
例如我们要求和的是 “充值满1000”这个条件。
直接 SUNMIF(B2:B11,"充值满1000")是不行的,这个是直接匹配这个内容,我们表格数据里面的内容前面有时间,后面还有充值送的内容。这个时候需要迷糊匹配。
表格使用字符 * 表示任意多个字符 所以要匹配 "充值满1000" 需要写成: "*充值满1000*"
这里需要注意前后都需要有*号,以为这个内容前后都有内容存在。
SUNMIF(B2:B11, "*充值满1000")
4、求和条件匹配了以后,接下来就是确定要求和的区域。
可以看到我们是需要吧D列的数量相加,区域就是D列的2行到11行。
所以我们如果求西乡店的充值满1000元各月的数量总和怎代码是:
=SUNMIF(B2:B11,"*充值满1000*",D2:D11)
同理的: 求西乡店(区域是第2行到第11行)
充值满1000: =SUNMIF(B2:B11,"*充值满1000*",D2:D11)
充值满1500: =SUNMIF(B2:B11,"*充值满1500*",D2:D11)
充值满2000: =SUNMIF(B2:B11,"*充值满2000*",D2:D11)
求沙井店(区域是第12行到第21行)
充值满1000: =SUNMIF(B12:B21,"*充值满1000*",D12:D21)
充值满1500: =SUNMIF(B12:B21,"*充值满1500*",D12:D21)
充值满2000: =SUNMIF(B12:B21,"*充值满2000*",D12:D21)
规律想必你也找到,只需要修改区域和匹配条件就完事。