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 ,小明 所发消息的总字数 


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



      

   



   


  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值