2014-04-09 67 views
1

我有一個excel,其中第一列包含1.1,1.2,1.3等學生的卷號,第二列包含他們在每學期30 40 60中的標記。我想知道每個學生只得到我的最高分。我有幾乎1000名學生。 以下是格式。想補充一點,我想這樣做,用perl腳本語言Excel分組

Students Marks Obtained 
1.1  45 
1.1  68 
1.1  69 
1.2  70 
1.2  14 
1.2  48 
. 
. 
. 
9.9  87 
9.9  76 
9.9  66 
9.9  100 
+0

使用[數據透視表](http://office.microsoft.com/en-us/excel-help/create-a-pivottable-to-分析 - 工作表數據,HA102840046.aspx) –

回答

0

本規範從C16開始:

Dim StartX As Integer 
Dim StartY As Integer 
Dim i As Integer 
Dim TmpS As String 
Dim TmpI As Integer 

StartX = 16 
StartY = 3 
TmpS = "" 
TmpI = 0 
For i = StartX To 9999 
    If Cells(i, StartY).Value = "" Then Exit For 

    If TmpS <> Cells(i, StartY).Value Then 
     If i <> StartX Then 
      Cells(i - 1, StartY + 2).Value = TmpI 
      TmpI = Cells(i, StartY + 1).Value 
     End If 
    Else 
     If TmpI < Cells(i, StartY + 1).Value Then TmpI = Cells(i, StartY + 1).Value 
    End If 
    TmpS = Cells(i, StartY).Value 
Next 
Cells(i - 1, StartY + 2).Value = TmpI 

閱讀所有的細胞,每一個學生近寫出最大速率
如果您更喜歡你可以放在一個數組或寫入另一個表...