答案1
假设所有单元格都包含整数,您可以修改公式以添加小数偏移量来偏置条目。我发现以下内容适用于我的测试数据(我没有输入您的所有内容):
=MATCH(MIN(IF(A1:A16>0,A1:A16+0.9/ROW(A1:A16))),A1:A16+0.9/ROW(A1:A16),0)
我用两个1
条目填充了前 10 行,它找到了第二个条目1
,当我添加更多行时,每当我添加另一个条目时,它都会返回最后一个条目1
。请注意,它是一个标量函数,因此没有{}
括号。
答案2
要采取你所做的事情并逆转它,创建一个用户定义基本函数:
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 的答案产生了相同的结果。