Microsoft Excel怎么做连续数据统计

在日常工作中,我们常常需要对一些连续出现的数据进行统计。如统计考勤表中连续迟到三次的员工;对于连续签到次数大于…

在日常工作中,我们常常需要对一些连续出现的数据进行统计。如统计考勤表中连续迟到三次的员工;对于连续签到次数大于指定数目的会员,发放优惠;统计某球队连续胜利的场次等。对于这些连续数据的统计,借助Excel 2019内置的函数即可快速完成。

○ 一、统计连续迟到次数
适合:单一连续条件的统计
公司最近整顿员工考勤纪律,对于连续迟到三次员工要扣100元。打开员工考勤表文件,定位到C2单元格并输入公式“=ISERR(FIND("×××",PHONETIC(D2:AG2)))”,然后下拉填充(图1)。
(图1)
公式解释:
先使用PHONETIC函数将考勤表的1号~31号数据连接起来,然后使用FIND函数在其中查找“×××”(×表示迟到,三个×表示连续三天都迟到),最后在外层使用ISERR函数对数据进行判断,如果没有连续迟到三次就显示为TRUE,否则显示为FALSE。
再定位到B2单元格并输入公式“=IF(C2=TRUE,"",-100)”,使用IF函数对C列真假进行判断,如果为TRUE显示为空,否则显示“-100”(表示扣款100元,可以在后续工资单中直接引用),公式下拉即可完成标记(图2)。
(图2)
○二、统计连续签到最大次数
适合:多条件的连续数据统计
为了鼓励用户使用公司的APP,对于在1个月内连续签到大于等于28天的用户奖励30元,15~27天奖励15元,其他用户则显示最大连续签到天数。下表是用户签到记录,现在需要对符合要求的用户添加奖励金额。
1. 添加辅助数据
定位到C3单元格并输入公式“=IF(B3=B4,"",ROW()-2)”,然后下拉填充,并将公式依次复制到G列、K列(图3)。
(图3)
公式解释:
使用IF函数对B3和B4单元格进行判断,如果相等则显示为空,否则显示为“当前行号值-2”,这样在C列会显示出当前应签到的次数。
2. 统计实际连续签到值
定位到D3单元格并输入公式“=IF(OR(B3=B4,B3="否"),"",C3-MAX(C$2:C2))”,下拉公式并将公式依次复制到H列、L列下拉填充(图4)。
(图4)
公式解释:
先使用OR函数对B3和B4单元格进行判断,只要它们相等(表示连续签到)或者B3显示为“否”,那么D3单元格就显示为空,否则显示“C3-MAX(C$2:C2)”的差值。
3. 统计奖励金额
定位到C1单元格并输入公式“=IFS(MAX(D3:D32)>=28,30,MAX(D3:D32)>=15,15,MAX(D3:D32)<15,"连续签到最大天数是:"&MAX(D3:D32))”,然后将公式复制到G1、K1单元格,完成奖励数据的显示(图5)。
(图5)
公式解释:这里使用IFS函数根据奖励条件显示奖励金额,如果大于等于28次,那么显示30,如果在15~27之间显示15,否则显示“连续签到最大天数:”和“D3:D32”之间最大值的连接。
将上述文件保存为模板,以后只要在B、F、J、N……列中输入用户的签到数据,就可以在第一行自动显示用户奖励数据,如果没有奖励则会显示最大连续签到的天数,方便给用户自查(图6)。
(图6)
○三、计算最多的连续胜利场次
适合:多工作表最大连续数据统计
为了对球队的历史业绩进行统计,每个球队制作一张工作表,现在需要统计每个球队最多的连续胜利场次。由于需要在多个工作表进行统计,可以借助VBA实现批量操作。
到https://share.weiyun.com/H33Q608m下载所需的VBA代码,然后用记事本程序打开代码文件并全选复制,在Excel窗口中按下Alt+F11快捷键打开VBA编辑窗口,点击“添加→模块”,然后将下载的代码粘贴到代码框中保存(图7)。
(图7)
代码解释:
先使用For Each语句对工作表进行遍历,然后使用IF函数对A2单元格开始显示的字符进行判断,如果显示为“负”或“平”就标记为“0”,否则对连续标记为“胜”的单元格进行统计。
返回Excel窗口,在D1单元格中输入公式“=MAX(B2:B100)”,点击“开发工具→宏→连胜场次”,点击“执行”,这样所有工作表球队的最大连胜场次就自动完成统计了(图8)。CF(图8)

END

关于作者: asdfghjkl

为您推荐

发表回复