Позиция формулы Excel минимального значения - PullRequest
0 голосов
/ 17 мая 2011

РЕДАКТИРОВАТЬ: вероятно, простой вопрос, в основном у меня есть три значения, скажем, 9, 4 и 7 в разных ячейках ( не в таблице) , я хочу найти минимум в заказе, а затем вернуть его относительное положение, например : 9,4,7 вернет 2, поскольку 4 является минимумом и находится на втором месте.

Какова правильная формула Excel для этого? Благодарю .

Решение: Спасибо всем за помощь, я не думал, что Excel сможет это сделать, если он не будет непрерывным. Я закончил тем, что использовал ряд вложенных операторов IF, операторов AND и

Ответы [ 5 ]

2 голосов
/ 17 мая 2011

Вот формула массива, которая должна работать. Предполагается, что значения указаны в 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 голос
/ 04 июня 2012

мин: =MIN(A1,B2,C3)

позиция: =MATCH(2,1/FREQUENCY(min,(A1,B2,C3)))

1 голос
/ 17 мая 2011

Вы можете просто;

=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
0 голосов
/ 19 декабря 2012

Формула массива:

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

, где диапазон B$16:M$16 имеет индексы (то есть 1, 2, 3, 4 и т. Д.), А B23:M23 имеет рассматриваемые значения.

0 голосов
/ 17 мая 2011

К сожалению, функции поиска 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))
...