返回列表 上一主題 發帖

[發問] 搜尋符合條件的最小值及最大值

[發問] 搜尋符合條件的最小值及最大值

請教各位大大,
以下資料為sheet 1,若我在sheet 2以INV為主作搜尋對照,如何抓取BCM的最小值?(它有數字及文字)
例如:sheet 2的A欄位是INV,B欄位是BCM最小值,C欄位是BCM最大值
CI12-002  最小值我希望找到的是B2= 120001,最大值是C2=120362-2

INV                         BCM
CI12-002        120351
CI12-008        120352
CI12-003        120353
CI12-004        120354
CI12-005        120355
CI12-002        120358-3
CI12-001        120362-1
CI12-002        120362-2
CI12-002        120001
CI12-002        120014-1A

回復 1# PJChen

文字與數字比較大小,內建函數無法達成
最大最小.rar (8.47 KB)
學海無涯_不恥下問

TOP

回復 2# Hsieh
回復 1# PJChen
不好意思,借用 Hsieh 版大的語法稍加修飾:
  1. Sub Test()
  2.     Dim ans As Variant
  3.    
  4.     ans = RankData(Range("B2:B11"), True)
  5.     MsgBox "最大值為 " & ans
  6.     ans = RankData(Range("B2:B11"), False)
  7.     MsgBox "最小值為 " & ans
  8. End Sub

  9. Function RankData(Rng As Range, asc As Boolean) As Variant
  10.     Dim rn As Variant
  11.    
  12.     For Each rn In Rng
  13.         If asc = True Then
  14.             RankData = IIf(RankData = "", rn, IIf(rn > RankData, rn, RankData))
  15.         Else
  16.             RankData = IIf(RankData = "", rn, IIf(rn < RankData, rn, RankData))
  17.         End If
  18.     Next
  19. End Function
複製代碼

TOP

        靜思自在 : 【行善要及時】行善要及時,功德要持續。如燒開水一般,未燒開之前千萬不要停熄火候,否則重來就太費事了。
返回列表 上一主題