如何使用自定義函數(shù)快速生成排名榜
在處理排名榜難題時(shí),我們可以使用自定義函數(shù)來解決。這個(gè)函數(shù)可以幫助我們快速生成并更新排名榜,無論數(shù)據(jù)如何變化。 代碼示例 Function PaiMing(rg As Range, rg1 A
在處理排名榜難題時(shí),我們可以使用自定義函數(shù)來解決。這個(gè)函數(shù)可以幫助我們快速生成并更新排名榜,無論數(shù)據(jù)如何變化。
代碼示例
Function PaiMing(rg As Range, rg1 As Range) Dim iOuter As Long Dim iInner As Long Dim iLBound As Long Dim iUBound As Long Dim iTemp As Double Dim x As Long, k As Long Dim arr1, arr2, arr3(1 To 10000, 1 To 3) arr1 rg arr2 rg1 If UBound(arr1, 2) > 1 Then arr1 (arr1) arr2 (arr2) End If iLBound LBound(arr1) iUBound UBound(arr1) '冒泡排序 For iOuter iLBound To iUBound For iInner iLBound To iUBound - iOuter '比較相鄰項(xiàng) If arr1(iInner, 1) < arr1(iInner 1, 1) Then '交換值 iTemp arr1(iInner, 1) iTemp1 arr2(iInner, 1) arr1(iInner, 1) arr1(iInner 1, 1) arr1(iInner 1, 1) iTemp arr2(iInner, 1) arr2(iInner 1, 1) arr2(iInner 1, 1) iTemp1 End If Next iInner Next iOuter For x 1 To UBound(arr1) arr3(x, 1) arr2(x, 1) arr3(x, 2) arr1(x, 1) k k 1 If x > 1 Then If arr1(x, 1) arr1(x - 1, 1) Then k k - 1 End If End If arr3(x, 3) k Next x PaiMing arr3 End Function
設(shè)置步驟
- 復(fù)制上面的代碼示例,包括函數(shù)開頭和結(jié)尾的關(guān)鍵字。
- 在Excel中打開您的工作表,并右鍵單擊工作表標(biāo)簽。
- 選擇“查看代碼”,在新打開的VBE窗口中插入一個(gè)新模塊。
- 將代碼粘貼到右側(cè)的窗口中,并關(guān)閉窗口。
- 保存文件,并另存為“啟用宏的工作簿”。
使用排名函數(shù)
使用排名函數(shù)非常簡單。假設(shè)我們要生成語文成績的排名榜,我們可以按照以下步驟進(jìn)行設(shè)置:
- 選取包含成績的數(shù)據(jù)區(qū)域(例如I3:K8)。
- 在編輯欄中輸入公式
PaiMing(B2:B15,A2:A15)
。 - 按下Ctrl Shift Enter鍵以完成輸入。注意,輸入后公式兩邊會添加大括號{}
現(xiàn)在,您就可以在指定的范圍內(nèi)看到自動生成的排名榜了。