Board logo

標題: [發問] EXCEL 求第二大或第三大數值 [打印本頁]

作者: lichang    時間: 2015-10-29 00:17     標題: EXCEL 求第二大或第三大數值

請問各位,函數中有直接求最大數值與最小數值的函數,但不知道如何可以求得第二或第三等依此類推數值
不知有沒有大大會不會寫???
作者: n7822123    時間: 2015-10-29 02:16

程式碼與附件如下
  1. Function MaxRank(表 As Range, 序列 As Integer) As Double
  2. Dim ar() As Double
  3. Dim 最高() As Double
  4. Dim 未選() As Boolean
  5. For Each rg In 表
  6.   A = A + 1
  7. Next
  8. ReDim ar(A): ReDim 最高(A): ReDim 未選(A)
  9. For Each rg In 表
  10.   n = n + 1
  11.   ar(n) = rg
  12. Next
  13. For i = 1 To A
  14. 最高(i) = -1.7976E+308
  15. 未選(i) = True
  16. Next i
  17. For i = 1 To A:  For j = 1 To A
  18.     If ar(j) > 最高(i) And 未選(j) Then
  19.       最高(i) = ar(j)
  20.       B = j
  21.     End If
  22.   Next j
  23.   未選(B) = False
  24. Next i
  25. MaxRank = 最高(序列)
  26. End Function
複製代碼

作者: lichang    時間: 2015-10-29 08:29

謝謝大大,測試看看!!!
作者: owen06    時間: 2015-10-29 08:35

回復 1# lichang


    用large 跟small就行了不是嗎?
作者: bhsm    時間: 2015-10-29 10:55

回復 4# owen06
感謝owen06大,超級好用的
作者: n7822123    時間: 2015-10-29 11:54

回復 4# owen06


    早知道有 Large 跟 Small  我就不現醜了.............:Q
作者: owen06    時間: 2015-10-29 13:00

回復 6# n7822123


    沒什麼醜不醜的,你能用vba寫出這麼棒的概念,就是一件很厲害的事了。
    討論區就是要大家一起腦力激盪,不是嗎?
作者: lichang    時間: 2015-10-29 23:14

謝謝各位大大的指導,只要能解決,大家都是神人
也可以讓小弟我更接近大家的思維




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)