День добрый, Можно ли в двумерном массиве (10 строк, 2 столбца) без перебора (аналогично функции макс)найти максимальное значение по столбцу №2? Спасибо.
Так наверно Sub Max_Array_Test() Dim Arr(1, 9), s, i, j For i = 0 To 1: For j = 0 To 9 Arr(i, j) = Rnd Next: Next s = Application.WorksheetFunction.Max(Arr) Debug.Print s End Sub
Да, мы тут недавно Match по массиву обсуждали. Перебор не только быстрее, но и не глючит, как Match на 2000 Экселе и на больших массивах (более ~65500 значений).
With Application MsgBox Join(.Transpose(.Index(iMassiv, 0, 3)), _ Chr(10)), , "Третий столбец :" End With
With WorksheetFunction MsgBox Join(.Transpose(.Index(iMassiv, 0, 5)), _ Chr(13)), , "Пятый столбец :" End With
Dim iAverage#, iMin#, iMax#, iSum#, iProduct
' For iCount = 1 To 100 ' iMassiv(iCount) = Rnd * 1000 ' Next
With Application iAverage = .Average(iMassiv) iMin = .Min(.Transpose(.Index(iMassiv, 0, 3))) iMax = .Max(.Transpose(.Index(iMassiv, 0, 4))) iSum = .Sum(iMassiv) iProduct = .Product(iMassiv) End With End Sub