关于EXECEL的问题

来源:百度知道 编辑:UC知道 时间:2024/06/04 19:53:29
这是一个关于统计投票结果的问题,投票的情况已经形成了一个EXECEL文件,表格由左至右,共三列,分别是投票电话号码,投票时间,选手编号。现在要求每个电话号码只允许投二十票,其余的投票不计入结果。所以就要把每个号码投的票按时间排序,前二十票计入统计范围。请问该如何操作?希望高手给予解答,着急呀,多谢了。

1. 先将你的表格按照 主条件=电话号码,次条件=投票时间排序,保证同一个号码的投票,按照时间先后顺序排列。
2. 在Excel里面建立一个宏,
宏程序如下(已经过调试)
Sub select20()
'假设投票 电话号码在A列 投票时间在B列 选手编号在C列
'假设投票的数据从第2列到200列
'假设原始数据在Excel文件的sheet1上,

Dim i As Integer '循环所有的投票行的变量
Dim j As Integer '统计20票,超过的话,j清零
Dim phoneNumber As String '临时存储投票电话号码的变量

i = 2
j = 1
phoneNumber = Sheet1.Cells(i, 1).Value

Do While i <= 200'修改200为你的表格的数据行最后一行所在的Excle行数
If phoneNumber = Sheet1.Cells(i, 1).Value Then
If j <= 20 Then
j = j + 1
Sheet1.Cells(i, 4).Value = "有效"
i = i + 1
Else
i = i + 1
End If
Else
phoneNumber = Sheet1.Cells(i, 1)
j = 1
End If
Loop
End Sub

3