一位朋友说遇到难题:公司要求把近三年的销售额按照年份与月份进行汇总,三年的销售数据有四万多行,他问有没有函数可以实现快速统计。
用下所示的简单数据,一下汇总方法:
关键操作公式:
在F2单元格输入公式:
=SUMPRODUCT((YEAR($A$2:$A$15)=D2)*(MONTH($A$2:$A$15)=E2)*($B$2:$B$15)),向下填充,即得所有指定年份与月份的销售总额。
公式分解:
(YEAR($A$2:$A$15)=D2):
YEAR函数计算$A$2:$A$15单元格的年份,并与D2单元格的年份进行比较,如果等于D2年份,返回TURE,否则返回FALSE。所以此部分返回一组TURE与FALSE的数组(数组1):
INDIRECT函数转换成适合打印的多行多列
尤其打印单位人员名单时,单列数据太长,要做成多行多列适合打印的形式: 关键操作 公式: 在D2单元格输入公式: =INDIRECT('A'&6*ROW(A1)-5 COLUMN(A1))&'',然后向右向下填充,即可变成适合打印的6列多行数据。 公式解析: 6*ROW(A1)-5 COL
{TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE}。
(MONTH($A$2:$A$15)=E2):
MONTH函数计算$A$2:$A$15单元格的月份,并与E2单元格的月份进行比较,如果等于E2月份,返回TURE,否则返回FALSE。所以此部分返回一组TURE与FALSE的数组(数组2):
{FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE}。
($B$2:$B$15):
{182865;78980;217647;151397;118792;172058;1818;42762;51971;12345;46367;151659;184879;62688}。
=SUMPRODUCT((YEAR($A$2:$A$15)=D2)*(MONTH($A$2:$A$15)=E2)*($B$2:$B$15)):
相当于=SUMPRODUCT((数组1)*(数组2)*($B$2:$B$15)),数组1、数组2与($B$2:$B$15)对应位置相乘然后相加和。
结果:
COUNT MATCH,统计两列有多少重复值
有朋友问如何统计两列重复的个数,他想来统计前两个季度销售都进入前一百名的人数。 这了好述,把数据改成了统计都进入前十的人数,如下: 关键操作公式: 在D2单元格输入公式: =COUNT(MATCH(A2:A11,B2:B11,0)),以CTRL SHIFT ENTER结果。 公式解释: MATCH(