excel:如果我在一个范围内搜索一个 MIN 值,并且有 2 个值是 MIN,它只显示第一个

excel: If I search for a MIN value in a range, and 2 values are MIN, it only displays the first

我有一个函数可以在一个范围内查找最小值,比方说 9、18、12、9。 两个 9 都是 MIN,但 MIN 只看 'first' 最小值。 我还希望能够将范围内的第二个“9”作为一个选项提供,以使其更清楚:这些值所在的列代表一个位置,而值本身代表去那里的难易程度,因此,如果 2 个位置的值为“9”,我想要一种方法不仅显示第一个“9”列作为结果,而且还显示第二个“9”列,因为此结果同样有效。使用此函数时如何处理第二个值,以便我的结果同时显示具有这些 MIN 值的第一列和第二列。有没有办法在另一个 MIN 搜索中排除已经找到的 MIN 值?或者我将如何解决这个第二个 'min' 值?

感谢您的宝贵时间。

您需要遍历找到的值。这段代码对我有用。注意循环中的 FindNext 操作。

Set rngFound = rngSearch.Find(SrchVal, LookIn:=xlValues)
If Not rngFound Is Nothing Then
    FirstFind = rngFound.Address
    Do
        'Do something with the found value
        Set rngFound = rngSearch.FindNext(rngFound)
    Loop Until rngFound.Address = FirstFind
End If

假设我们在A

列中有数据,在C1中输入数组公式:

=IFERROR(SMALL(IF(($A:$A)=MIN(A:A),ROW($A:$A),""),ROW()),"")

然后抄下来。

数组公式必须用Ctrl + Shift + 输入Enter 而不仅仅是 Enter 键。

这将显示包含最小值的单元格的行号: