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

猜你喜欢

  • 汽车贴膜哪个品牌好,汽车贴膜品牌推荐

    在汽车贴膜品牌的选择上,不同人根据使用经验、产品质量、性价比等因素会有不同的推荐。以下是一些比较好的汽车贴膜品牌: 圣佳汽车贴膜:源自法国圣戈班品牌,具有300多年历史,是生产汽车…

    2023-09-26
  • 纸花怎么做_纸花的做法

    DIY动手实践能够让生活更美好,它让这一平淡的生活眼前一亮。喜欢动手是一种自信的表达方式,创意源于生活,细节决定品质,今天为大家分享如何剪纸制作蓝色花朵的方法,步骤详细,难度1颗星…

    2022-10-23
  • 怎么在excel中一个图中画多条曲线

    excel2013如何在一个图上画多条曲线?办公软件每年更新很快。虽然更新后的版本当然可以实现更新前的功能,但是由于布局的改进,用户第一次使用时并不是特别舒服。下面重点介绍如何使用…

    2022-04-07
  • 接送孩子适合买什么车_接送孩子的车辆推荐

    这几年汽车的更新迭代速度很快,再加上市车企内卷,汽车市场也出现“下沉”的现象,简单点说,既是现在市场上不仅有百万豪车和十万以上的车,也有很多几万元就可以买到代步工具车。 最近3个月…

    2023-01-12
  • 3dmax安装时发生严重错误怎么办(为什么安装3dmax显示错误)

    近日有用户反映电脑安装3dsMax软件出现了一些问题,导致无法继续安装。如果3DMAX安装失败,应该怎么解决?对于这一点,可以参考以下方法来解决。 方法一: 1、可能会在安装过程提…

    2022-04-21
  • 为何excel无法求和(excel中无法求和怎么办)

    当Excel编辑数据时,不能进行求和。 这是因为在编辑数据的时候,更改了字段的数值,导致求和字段的所有单元格中的数据没有变化,造成了不能运算的情况。 可以选择“工具”→“选项”,在…

    2022-04-07
  • 格力和美的哪个好?格力和美的哪个值得买?

    美的空调和格力空调如果您想要买空调,这两个牌子你会选择哪个呢?这两个都是国内一线空调品牌,也是国产空调代表,在国内销售量都是非常高的。下面请看蜜罐蚁装修网小编给大家整理有关美的空调…

    2024-01-05
  • excel列数太多,怎么打印最好(列数很多的表格怎么打印很长的表格)

    如果表格列数太多,可以设置打印区域打印,也可以水平设置页面,设置为一页打印。 1、打印区域,就是选定要打印的区域即可 2、横向打印,就是把打印表格、文件的纸张设置成横向 3、页面设…

    2022-04-06
  • 2023适合开什么店,开店有什么技巧

    实体店作为一种传统的商业模式,在互联网的冲击下逐渐失去了优势。但是,仍然有一些实体店凭借着各种因素,实现了高利润的经营。以下是十大利润最高的实体店: 1. 教育机构 教育机构一直以…

    2023-09-14
  • 心理咨询怎么收费_心理咨询的收费标准

    今天我来说说关于心理咨询的收费,目前,国内市面上的心理咨询师收费没有标准可言,大概是在200元/小时到1000/小时,而事实上这个收费是没有上限的。从咨询时长来讲,一般情况,一次咨…

    2022-12-04

发表回复

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