Щоб взяти те, що ви зробили, і повернути його, створіть a Основна функція, визначена користувачем :
Function REVERSE_ARRAY(aIn)
If NOT IsArray(aIn) Then
REVERSE_ARRAY = "Err:520"
Exit Function
End If
Dim aOut(LBound(aIn,1) To UBound(aIn,1), _
LBound(aIn,2) To UBound(aIn,2)) As Single
Dim i As Integer, reverse_i As Integer
For i = LBound(aIn,1) to UBound(aIn,1)
reverse_i = LBound(aIn,1) + UBound(aIn,1) - i
aOut(reverse_i, 1) = aIn(i, 1)
Next i
REVERSE_ARRAY = aOut()
End Function
Змініть функцію масиву, щоб він сказав:
17-MATCH(MIN(IF(A1:A16>0,A1:A16)),REVERSE_ARRAY(A1:A16),0)
У моєму тестуванні такий підхід і відповідь @ AFH дали ті самі результати.
CTRL+SHIFT+ENTER
вона повертає 16 (що я очікував). Чи можете ви пояснити, що відбувається?