码迷,mamicode.com
首页 > 其他好文 > 详细

Excel统计QQ聊天记录条数

时间:2015-07-24 20:48:47      阅读:377      评论:0      收藏:0      [点我收藏+]

标签:excel   qq记录   统计   

   将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聊天记录条数

标签:excel   qq记录   统计   

原文地址:http://blog.csdn.net/gdp12315_gu/article/details/47045451

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!