将QQ记录从QQ中导出为Txt文件,再导入的Excel表格中,会发现消息记录格式:

2012-06-23 10:58:34 小明

你好!

2012-06-23 10:58:34 小红

你好!

消息记录在Excel表的A列中显示,

然后,分别列出在B列中列出所有统计的日期,在C列中标明要统计的人名,例如 C列统计小明 每天所发消息的条数,D列统计 小红每天所发的条数

C列中使用公式

例如: C2 = COUNTIF(A:A,"2012-06-23*小明")    C3 = COUNTIF(A:A,TEXT(B3,"yyyy-mm-dd")&"*小明“)

其中B3的内容就是2012-6-24的格式的时间类变量,” * “ 的作用是”2012-06-23“与”小明“之间可是添加任意个字符,COUNTIF就是统计满足IF条件的记录总和。

D2 = COUNTIF(A:A,"2012-06-23*小红")    C3 = COUNTIF(A:A,TEXT(B3,"yyyy-mm-dd")&"*小红“)

统计,每个人每天所发消息的字数

设计该统计算法思路如下,先确定A列中每天所发消息在A列中的起始行号,以及该天所发消息占用的总行数,其中包括空白的单元行,这样做就是便于确定后面要查找的范围;然后,根据每天消息在A列中的范围,在该范围中进行逐行遍历,找到一个用户的发言时间段,统计该段下面所包含的字符个数,再加所有找到的发言段的个数相加,得到该用户该天发言的总字符个数(当然图片语音,都只是作为字符记录)。

Public Function CalculateWords(ByVal ss As String, ByVal start As Long, ByVal j As Long) As Long
Dim i, k, result As Long
k = 0
result = 0
For i = start To j
If Cells(i, 1) Like ss Then
k = i + 1
While Len(Cells(k, 1)) <> 0
result = result + Len(Cells(k, 1))
k = k + 1
Wend
End If
Next
Quit:
CalculateWords = result
End Function
Public Function TotalRows(ByVal start As Long, ByVal t As Date) As Long
Dim i, j, k, result As Long
k = 0
result = 0
j = Sheet1.UsedRange.Rows.Count
For i = start To j
If Cells(i, 1) Like "20??-??-?? ??:??:??*" Then
Dim t1 As Date
t1 = Left(Cells(i, 1), 10)
If t1 > t Then
GoTo Quit
End If
End If
Next
Quit:
TotalRows = i
End Function

函数使用说明,例如,

先确定2012-06-23 这天的消息记录,在表格A列中占有哪几行,将索引结果存在E列表

E2 = TotalRows(1, B2)  E3 = TotalRows(E2, B3)

我们用F列存小明的消息字符数

F2 = CalculateWords(TEXT(B2,"yyyy-mm-dd")&"*小明“ ,  1,  E2 -1)                                即2012-06-23 ,小明 所发消息的总字数

F3 = CalculateWords(TEXT(B3,"yyyy-mm-dd")&"*小明“ ,  E2,  E3 -1)                             即2012-06-24 ,小明 所发消息的总字数

最后,可以用图表的形式将统计的结果,绘制出来

Excel统计QQ聊天记录条数相关推荐

  1. 统计QQ聊天记录基础版(分词+统计关键字出现的次数)

    最近刚接触python,沉迷爬虫无法自拔,就准备来尝试尝试.虽然代码可能有点乱,我会尽量解释的详细的. 目标:从QQ中导出txt文件的聊天记录,用jieba对聊天记录进行分词,统计每个关键字出现的次数 ...

  2. GridView导出到Excel(可选择记录条数)

    最近有点空就喜欢去研究研究GridView的使用,所以你如果是想要学习这方面的东西可以来参观参观.^_^ 这里说明一下GridView到Excel的导出实现.平时你看到的GridView导出Excel ...

  3. 统计QQ聊天记录进阶版(分词+统计关键字出现的次数+根据词频制作词云)

    继上个博客统计关键字次数的进阶,将关键词的次数制作成词云保存到图片.之前说过的部分现在就不说了,这里主要讲根据词频制作词云. 1.安装wordcloud(这里要注意坑) 这个安装的过程比jieba复杂 ...

  4. 【总结】最短路径条数问题

    例题:NOI2007 社交网络[难度不大,主要就是考察了这个知识点] 本文进过原作者同意转载,原博主为:  erosun 原地址:http://www.cnblogs.com/acxblog/p/75 ...

  5. 去重之后统计条数_BOPET:12的普通包装膜到底去哪了?

    导语 近期BOPET市场多数客户反映,12μ的普通包装膜现货一货难求,前期订单交货紧张,新订单交期较长,12μ的普通包装膜到底去哪了呢? 对于BOPET市场来说,12μ普通包装膜交货紧.交货慢的现象从 ...

  6. sql 统计记录条数后 打印出所有记录_用SQL完成购买行为分析(下篇II)

    (接<用SQL完成购买行为分析(下篇I)>内容) 12)查询首条记录为fav,总记录条数为14的记录.将前面getNum(3)红框处替换为12,运行getNum(14)得到第2条记录的数量 ...

  7. php中统计记录条数,使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT

    例如这样一个表,我想统计email和passwords都不相同的记录的条数 CREATE TABLE IF NOT EXISTS `test_users` ( `email_id` int(11) u ...

  8. 按分数段统计学生人数python_用Excel统计各分数段学生数

    用 Excel 统计各分数段学生数 方法一:用 COUNTIF 函数统计 这是最常用.最容易理解的一种方法,我们用它来统计"语文"学科各分数段学生数. 如果某些学科 (如体育) , ...

  9. mysql统计去重记录数量_MySQL分组后,如何统计记录条数

    MySQL分组后,统计记录条数的方法:1.统计记录条数,代码为[SELECT num,count(*) AS counts from test_a GROUP BY num]:2.对num去重后的数量 ...

最新文章

  1. 研究揭示动物社交欲望的神经机制
  2. R语言因子转数值类型
  3. 跨平台移动应用开发迎来“大杀器”,Xamarin.Essentials正式版发布
  4. Android 使用AIDL实现进程间的通信
  5. Struts2+Spring详解
  6. 1833: [ZJOI2010]count 数字计数
  7. Nginx的rewrite之rewrite_log指令
  8. js检测数组对象中是否有重复值
  9. ubuntu内网环境安装zabbix agent
  10. 在Mac中关闭应用通知的两种方法
  11. 罗马尼亚:曾经的黑客避风港变身全球安全人才的摇篮
  12. 内的图标_从零开始画图标系列:线性图标设计实战演示!
  13. redis 包之间关系
  14. WDS+MDT部署系统
  15. java接口压力测试
  16. 文档翻译免费工具(网页版)PDF翻译,word翻译
  17. 【程序员必读】经验:编程的智慧
  18. Python+PyQt5实现灭霸响指
  19. 【树莓派C语言开发】实验15:电位计传感器(关联PCF8951)
  20. linux进阶-自编译安装dropbear

热门文章

  1. Java私活300元,完成JavaWeb志愿者管理系统(四)
  2. 实验二-HDFS编程
  3. MATLAB离线模糊控制表生成以及模糊控制程序编写
  4. 全球软件开发大会QCon上海2014盛大开幕
  5. Android 音视频开发(二) -- Camera1 实现预览、拍照功能
  6. 历年软考中级软件设计师知识点分布和分值比重总结
  7. FreeBSD修改为国内源
  8. 小数不显示末尾的0的模块
  9. 高德地图点击按钮,控制高德地图上的热力图显示与隐藏
  10. Pygame 教程(4):图像传输和绘制文本