excel几千个电话号码排序(如何统计打了多少电话)

一个派出所的朋友在调查一个案件的时候,遇到了一个不整洁的问题,找我帮忙。因为保密不能提供原始数据,他只是跟我谈了一下要求。目前通过一个嫌疑人的电话记录,他们从电话记录中又增加了n个新的嫌疑人,也拿到了每个嫌疑人的电话记录。现在要统计这些通话记录,也就是同一个电话号码,每个嫌疑人打了多少次,有多少嫌疑人同时打了同一个号码。

根据上述总结,Excel表如下:

excel几千个电话号码排序(如何统计打了多少电话)

图一:原始数据表

excel几千个电话号码排序(如何统计打了多少电话)

图二:统计结果表

上图说明:

图一:用户一、用户二、用户三、用户四正面的数字为模拟的电话号码;方向是指主叫还是被叫,没有什么意义。

图二:用户正面的数字是该电话所使用的次数,如果一个电话只被某一用户打过,这样就不统计,换句话说就是统计结果表中的电话号码至少被两个以上的用户打过。

解决的思路:

⒈ 此统计无法使用函数、数据透视表等普通的方法来解决。我采用了VBA编程来实现的统计。

⒉ 首先将所有用户的电话(不重复,重复的只取一次),提取出来存放到统计结果表中。这样结果表中的电话是唯一的。

⒊ 通过结果表的电话号码为基础,统计每个用户使用该号码的次数并将统计的结果存放到结果表该用户下。

⒋ 删除同一个电话号码被两个以下用户使用的行。

解决的方法:

⒈ 因为用户的数量是未知的,但从第2列开始是已经的,这样我们就可以通过循环来进行统计。循环的条件通过第1行从第2列开始,单元格不空。

⒉ 每个用户的电话号码循环与⒈类似

具体的程序源代码如下:

Private Sub CommandButton1_Click()

Sheets(2).Rows(2 & “:” & 65536) = “”

Sheets(2).Columns(“B:IV”) = “”

Dim Ls, i, j, Isa, k, yhs

Isa = False

i = 2

If Sheets(1).Cells(1, 2) = “” Then

MsgBox “没有用户,无法统计!”, vbOKOnly + vbCritical, “错误提示”

Exit Sub

Else

Do While True

If Sheets(1).Cells(1, i) <> “” Then

Sheets(2).Cells(1, i) = Sheets(1).Cells(1, i)

i = i + 1

Else

Exit Do

End If

Loop

yhs = i – 1

End If

Ls = 2

Do While Sheets(1).Cells(1, Ls) <> “”

i = 2

Do While Sheets(1).Cells(i, Ls) <> “”

If Sheets(2).Cells(2, 1) = “” Then

Sheets(2).Cells(2, 1) = Sheets(1).Cells(i, Ls)

Else

j = 2: Isa = False

Do While Sheets(2).Cells(j, 1) <> “”

If Sheets(2).Cells(j, 1) = Sheets(1).Cells(i, Ls) Then Isa = True: Exit Do

j = j + 1

Loop

If Not Isa Then Sheets(2).Cells(j, 1) = Sheets(1).Cells(i, Ls)

End If

i = i + 1

Loop

Ls = Ls + 1

Loop

Ls = 2

Do While Sheets(2).Cells(1, Ls) <> “”

i = 2

Do While Sheets(2).Cells(i, 1) <> “”

j = 2: k = 0

Do While Sheets(1).Cells(j, Ls) <> “”

If Sheets(2).Cells(i, 1) = Sheets(1).Cells(j, Ls) Then k = k + 1

j = j + 1

Loop

If k <> 0 Then Sheets(2).Cells(i, Ls) = k

i = i + 1

Loop

Ls = Ls + 1

Loop

‘===========================================

‘ 删除非同一电话多个用户使用的行

‘===========================================

i = 2

Do While Sheets(2).Cells(i, 1) <> “”

j = 2: k = 0

Do While j <= yhs

If Sheets(2).Cells(i, j) <> “” Then k = k + 1

j = j + 1

Loop

If CInt(k) < 2 Then

Sheets(2).Rows(i).Delete Shift:=xlUp ‘删除i行

Else

i = i + 1

End If

Loop

‘===========================================

MsgBox “统计完毕!”, vbOKOnly + vbInformation, “系统提示”

Sheets(2).Select

End Sub

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 86345@qq.com 举报,一经查实,本站将立刻删除。
(0)
上一篇 2022-04-17 07:00:01
下一篇 2022-04-17 07:10:01

猜你喜欢

  • 孩子沉迷原耽怎么办?可采取什么措施?

    孩子沉迷原耽可采取的措施: 孩子沉迷原耽怎么办1、耐心了解孩子沉迷原耽的原因,根据孩子沉迷原耽的具体原因,在找出原因之后,父母在对孩子正确的引导上,不要采取强制的方式。 父母要做的…

    2023-12-26
  • 怎样进qq群里的直播间(qq怎么用电脑直播)

    不知道大家是否知道,qq不仅可以用来聊天发消息,我们还可以通过QQ加入QQ群,然后进入群直播。我们去看看吧!详情如下: 1. 第一步,我们需要在如图所示的qq登录页面中填写相应的账…

    2022-03-15
  • 如何批量把excel表格中格式转换成数字

    使用Excel电子表格汇总数据时,只能计算单元格中常规格式的数据,而不能计算单元格中文本格式的数据。特点是单元格左上角有一个绿色小三角,(如图:)(上面的1234是常规格式的数据,…

    2022-04-07
  • 电脑网络797错误代码(电脑连接错误797是什么意思)

    有网友表示,电脑连接网络时出现错误797提示,然后电脑无法通过猫连接网络,但猫的指示灯正常。今天电脑连接时出现错误797要怎么办?怎么样,边肖将谈论错误797的解决方案。 故障分析…

    2022-05-02
  • 激光打印机 故障(激光打印机故障分析)

    一、激光打印机出现白轨迹线 最有可能是没墨粉了。将硒鼓取出,轻微左右晃动,再放入打印机内,如打印效果明显有改善,则说明硒鼓内的碳粉不多了;若确认碳粉充足时也出现露白轨迹,则问题要严…

    投稿 2022-05-12
  • excel的页边距设置(excel中怎么设置页边距)

    Excel 2003和Excel 2007可以在打印预览时直接单击页面缩放页面大小,单击“页面边距”按钮并选择“显示边距”选项来检查边距,或者通过拖动黑色边距手柄或线条来调整边距。…

    2022-04-15
  • 怎么在excel中画斜线加字(怎么在excel里画斜线)

    怎么在excel中画斜线 打开一个工作表,可以是空白的也可以有数据 在你要分栏的那一格点击右键,然后会出现以下对话框 点击设置单元格格式,进入对话框界面,选择边框,然后我们看到在右…

    2022-04-09
  • 动物奶油和植物奶油哪个好,有哪些区别

    不少宝妈在选购蛋糕时会发现,同样尺寸的蛋糕,有的不到100元,有的却要200多元。询问商家,商家会告诉你,因为用的奶油不一样,贵的用的是动物奶油,便宜的用的是植物奶油。 这就让宝妈…

    2023-07-27
  • ps怎么合并两张图(ps如何把两个图片合并)

    有朋友在用PS软件编辑图片的时候想合并两张图片,但是不知道怎么合并,边肖给大家介绍一下。详情如下: 1. 第一步,双击或者右击打开ps软件。 2. 第二步,来到PS软件主页面后,点…

    2022-03-15
  • 现在德国实力怎么样_德国综合实力很强吗

    二战时,希特勒领导下的纳粹德国,可谓无人不知,无人不晓。它转眼就横扫了大半个欧洲,几乎以一国之力挑战整个世界。各国上至高层,下至平民,谈到纳粹德国,无不色变。 不过,在全球几十个国…

    2022-05-01

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注