- 帖子
- 2839
- 主題
- 10
- 精華
- 0
- 積分
- 2895
- 點名
- 0
- 作業系統
- 〔略〕
- 軟體版本
- 〔略〕
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 〔略〕
- 註冊時間
- 2013-5-13
- 最後登錄
- 2025-2-15
|
27#
發表於 2016-8-17 22:45
| 只看該作者
還是有點看不懂,大約也寫一個:
- Function GetLoseVal(xRng As Range, xInd%)
- Dim Arr, xMin, i&, j&, k%, N%, xD
- xMin = "": GetLoseVal = "": Arr = xRng.Value
- Set xD = CreateObject("Scripting.Dictionary")
- For i = 1 To UBound(Arr)
- For j = i + 1 To UBound(Arr)
- If Arr(j, 1) >= Arr(i, 1) Then Exit For
- If Arr(j, 1) < xMin Then k = j: xMin = Arr(j, 1)
- Next
- If xMin <> "" Then N = N + 1: xD(N) = xMin - Arr(i, 1): i = k: xMin = ""
- Next
- If xInd <= N Then GetLoseVal = Application.Small(xD.items, xInd)
- End Function
複製代碼
D7公式:=GetLoseVal(D$20:D$34,ROW(A1)) 右拉下拉
|
|