在excel中查找最大值的位置

时间:2017-08-07 08:29:05

标签: excel excel-vba vba

我有2 * 3矩阵,范围从单元格C2:E3。我需要找到最大数字的行号

有人可以建议相同的VBA代码 我尝试使用索引和匹配但没有得到正确的结果

2 个答案:

答案 0 :(得分:0)

尝试下面的代码(代码注释中的解释):

Option Explicit

Sub FindMaxValRow()

Dim Rng As Range
Dim MaxCell As Range
Dim MaxVal As Long

Set Rng = Range("C2:E3")
MaxVal = WorksheetFunction.Max(Rng)

' use the Find function to get the Row number
Set MaxCell = Rng.Find(what:=MaxVal, LookIn:=xlValues)

MsgBox "Maximum value found at row " & MaxCell.Row

End Sub

答案 1 :(得分:0)

无VBA解决方案:

假设该表位于$C$2:$E$3, 一个数组公式(类型 Ctrl + Shift + 输入而不是 Enter

=MAX((MAX($C$2:$E$3)=$C$2:$E$3)*ROW($C$2:$E$3))

返回最大行号,其中找到最大元素。

enter image description here

要获取找到最大元素的最小行号, 我们可以使用数组公式

=ROW($C$3:$E$3)-MAX((MAX($C$2:$E$3)=$C$2:$E$3)*(ROW($C$3:$E$3)-ROW($C$2:$E$3)))

enter image description here