比较数组,找出不符合规则的值?该怎么处理
比较数组,找出不符合规则的值?
数据源
PP - C
450 - 40
500 - 44
600 - 54
700 - 36
800 - 38
900 - 40
1000 - 42
1200 - 48
1400 - 52
1600 - 58
人工跟踪数据,找出的目标需求的规则是
当PP=450的C=40时
PP= 700时C=36
PP= 800时C=38
也就是找出C=40以后,小于40的C,C=36,C=38
**************************************
编了个小程序
Sub ll()
Dim Arr, oArr, Str As Double, Str1
Arr = Array(32, 40, 44, 54, 36, 38, 40, 42, 48, 52, 58)
oArr = Array(400, 450, 500, 600, 700, 800, 900, 1000, 1200, 1400, 1600)
''
For ii = 0 To UBound(Arr)
Str = Arr(ii)
For jj = ii + 1 To UBound(Arr)
If Str > Arr(jj) Then
Debug.Print ii, "→", Str, "→", oArr(jj), "→", Arr(jj)
End If
Next jj
Next ii
End Sub
*************************
其结果是
1 → 40 → 700 → 36
1 → 40 → 800 → 38
2 → 44 → 700 → 36
2 → 44 → 800 → 38
2 → 44 → 900 → 40
2 → 44 → 1000 → 42
数据源
PP - C
450 - 40
500 - 44
600 - 54
700 - 36
800 - 38
900 - 40
1000 - 42
1200 - 48
1400 - 52
1600 - 58
人工跟踪数据,找出的目标需求的规则是
当PP=450的C=40时
PP= 700时C=36
PP= 800时C=38
也就是找出C=40以后,小于40的C,C=36,C=38
**************************************
编了个小程序
Sub ll()
Dim Arr, oArr, Str As Double, Str1
Arr = Array(32, 40, 44, 54, 36, 38, 40, 42, 48, 52, 58)
oArr = Array(400, 450, 500, 600, 700, 800, 900, 1000, 1200, 1400, 1600)
''
For ii = 0 To UBound(Arr)
Str = Arr(ii)
For jj = ii + 1 To UBound(Arr)
If Str > Arr(jj) Then
Debug.Print ii, "→", Str, "→", oArr(jj), "→", Arr(jj)
End If
Next jj
Next ii
End Sub
*************************
其结果是
1 → 40 → 700 → 36
1 → 40 → 800 → 38
2 → 44 → 700 → 36
2 → 44 → 800 → 38
2 → 44 → 900 → 40
2 → 44 → 1000 → 42