

青蛙周报月报命名与自动统计函数及正则表达式写法:
一、统计方法
周报月报是导出为xls文件,将两者打开,在统计表格中加入excel函数来统计
日报(青蛙)是把所有的发的从青蛙群聊天窗口中复制到txt中,使用正则表达式进行处理,然后提到excel中有用excel函数进行统计
二、文件命名及统计用到的函数表达式
ms4w.xls,cj4w.xls,ms4m.xls, cj4m.xls //ms表摩氏,cj表创健,4表4月,w表周报week,m表月报month
日报创健:=IF(COUNTIFS(cj!$A:$A,"*"&$C4&"*",cj!$A:$A,"*"&"201605"&D$3&"*")>0,"√","×") //cj是工作簿中
日报摩氏:=IF(COUNTIFS(ms!$A:$A,"*"&$C34&"*",ms!$A:$A,"*"&"201605"&D$3&"*")>0,"√","×")
周报创健:=IF(COUNTIFS([cj4w.xls]Sheet!$B:$B,$C4,[cj4w.xls]Sheet!$D:$D,D$3)>0,"√","×")
周报摩氏:=IF(COUNTIFS([ms4w.xls]Sheet!$B:$B,$C34,[ms4w.xls]Sheet!$D:$D,D$33)>0,"√","×")
月报创健:=IF(COUNTIFS([cj4m.xls]Sheet!$B:$B,$C4,[cj4m.xls]Sheet!$D:$D,G$3)>0,"√","×")
月报摩氏:=IF(COUNTIFS([ms4m.xls]Sheet!$B:$B,$C34,[ms4m.xls]Sheet!$D:$D,G$3)>0,"√","×")
注:详细解释请见“excel函数的用法”一文
三、使用excel函数统计的前提
1. 钉钉月报月份和周报日期要设为必填,必须和excel相应一模一样,一个字符都不差,最好从excel中复制
2. 删除多于的月报和周报每周每月只有一个可以选择,
3. 过了提交日期,在周日期和月份选择设为:已统计,现在提交无效!
4. 青蛙必需要按规定的格式写
二、统计出错的原因
有的人没填月份,刘敏没选月份
有的人把月份填错了,葵彬把月选成了五月
钉钉中字段与excel中查询条件字段不相等,导入表是“蒙超“,excel中是”蒙 超“,一个中间有空格导致条件不相等出错
青蛙日期写错,自创格式
三、创健日报(青蛙)的统计,
1. 原理:将所有日报复制到文本文件中,使用正则进行替换,使每条记录的姓名和日期在同一行,然后复制到excel中,使用如下函数进行统计:
=COUNTIFS(Sheet1!$A:$A,"*"&$C4&"*",Sheet1!$A:$A,"*"&"201605"&F$3&"*") //双引号中是固定文本,&是连字符,用以连接字符串
2. 精简过的正则替换步骤: //所有正则替换使用emeditor软件,已录制为宏
^(.*)??(.{0,10})创健(.*)$ //删除青蛙内容中包含创健的行
^(.*)创健 替换为 #创健 //在所有行开头是创健而不是#创健的行前加#
所有2015替换为2016
\n替换为空 //删除换行符
(2016[0-9]{4}).*?#创健 替换为 $1#创健 //删除以2016开头的日期和#创健中间的内容
#创健 替换为 \n#创健 //在#创健前加换行符
3. 生成精简步骤前测试过的全部步骤的
1. 删除青蛙内容中包含”创健“的行,查找如下的表达式替换为空
^(.*)??(.{0,10})创健(.*)$ //(.*)表匹配任意字符任意次,(.{0,10})匹配任意字符最底0次最高10次,^表行首,$表行尾
2. 创健前字符统一,如,有的人写 【晚安#创健,晚安??#创健等都替换为 #创健
^(.*)创健 替换为 #创健
3. 分别删除以?? ?? 05- ?? 开头的行,删除以
^(.*)??(.*)$ ^??.*$ ^05-.*$ ^??.*$
4. 删除空白行
将 ^\n 替换空 //匹配行首是换行符的行
5. 删除包含 【感恩分享】 青蛙 的行
^.*【感恩分享】.*$ //删除包含【感恩分享】 的行
^.*青蛙.*$ //删除包含青蛙两字的行
6. 删除以两个汉字开头的行
^.{2}$ 替换为空
7. 删除包含两个数字加冒号的行,主要用以删除 昨天 23:14
^.*[0-9]{2}:.*$ 替换为空
8. 删除包含有左右括号()的行
^.*\(.*\).*$
9. 在 波 前面加换行符
波 替换为 \n波
10. 删除所有换行符,\n 替换为空
11. 在所有2016 #创健 前插入换行符
2016 替换为 \n2016 #创健 替换为 \n#创健
//注:在替换窗口不要勾选“匹配整个单词”
12. 删除 2016加4个数字 #创健 两者中间的内容
(2016[0-9]{4}).*?#创健 替换为 $1#创健
//$1表(2016[0-9]{4})这部分,?加在量词+或*后表最小匹配,默认是贪婪匹配即最大匹配
//注:在替换窗口不要勾选“匹配整个单词”
四、正则替换出现的错误及走过的弯路
不能替换原因,替换时不要勾选“匹配整个单词”这项,否则当一个字符串前后没有空格时将搜索不到这个字符串
五、摩氏日报
1. 删除所有 【摩氏咖啡三只青蛙??】
2. 删除所有 摩氏-明日青蛙3只:
3. 删除所有 【摩氏-明天三只青蛙】
4. 其它正则替换
^(.*)??(.{0,10})摩氏(.*)$ //删除青蛙内容中包含创健的行
^(.*)摩氏 替换为 #摩氏 //在所有行开头是创健而不是#创健的行前加#
所有2015替换为2016
\n替换为空 //删除换行符
(2016[0-9]{4}).*?#摩氏 替换为 $1#摩氏 //删除以2016开头的日期和#创健中间的内容
#摩氏 替换为 \n#摩氏 //在#创健前加换行符