Excel公式最小值的位置

时间:2011-05-17 10:50:14

标签: excel formula

编辑:可能是一个简单的问题,基本上我有三个值,让我们说不同的单元格中的9,4和7(不在表格中),我想在订单中找到最小值然后返回其相对位置,例如:9,4,7将返回2,因为4是最小值,位于第二位。

这样做的正确excel公式是什么?谢谢 。

解决方案:感谢大家的帮助,如果不是连续的话,我认为excel不会这么做。我最终使用了一系列嵌套的IF语句,一个AND语句和<迹象,完成工作:)

5 个答案:

答案 0 :(得分:2)

这是一个应该有效的数组公式。它假设值在A1,C3和B4中。

=MAX(IF(CHOOSE(TRANSPOSE({1,2,3}),$A$1,$C$3,$B$4)=MIN($A$1,$C$3,$B$4),TRANSPOSE({1,2,3}),0))

答案 1 :(得分:1)

你可以简单地说;

=ROUND(MIN(A1,B1,C1), 0)

啊,澄清之后;

我想不出用公式做到这一点的方法,可以用VBA完成(假设所有数字单元格+最高索引在碰撞结果中返回)

=OrdinalMin(A2,B2,C2)

//in a module
Public Function OrdinalMin(ParamArray cells() As Variant) As Long
Dim i As Long, min As Double
For i = 0 To UBound(cells)
    If cells(i) <= cells(min) Then min = i
Next
OrdinalMin = min + 1
End Function

答案 2 :(得分:1)

min:=MIN(A1,B2,C3)

职位:=MATCH(2,1/FREQUENCY(min,(A1,B2,C3)))

答案 3 :(得分:0)

不幸的是,Excel查找功能需要连续的数据范围。

对于一组随机单元格,请使用以下内容:

Public Function Match2(ByVal What As Variant, ByVal Where As Range) As Long
  Dim a As Range
  Dim c As Range
  Dim g As Long

  For Each a In Where.Areas
    For Each c In a.Cells
      g = g + 1

      If c.Value = What Then
        Match2 = g
        Exit Function
      End If
    Next
  Next
End Function

用法:

=Match2(MIN(B6,F9,I16),(B6,F9,I16))

答案 4 :(得分:0)

数组公式:

{=SUM((B$16:M$16)*(B23:M23=MIN(B23:M23)))}

其中范围B$16:M$16具有索引(即1,2,3,4等),而B23:M23具有正在考虑的值。