プロが教えるわが家の防犯対策術!

例えば、B2からF5の範囲にデータが入力されていて、このうち条件に該当するデータ(最大値)のセルの行番号・列番号を取得したいのですが何か良い方法はありますでしょうか。
最大値のセルをアクティブにする方法が分かれば問題は解決するのですが、調べてみても答えが見つかりませんでした。
また、他に良い方法があればぜひともよろしくお願いします。
回答はVBAでもワークシート関数でも、どちらでも結構です。

ExcelはExcel2000、OSはWindows2000を使用しています。

A 回答 (5件)

最大値のセルをアクティブにするんですよね?


では関数では無理なのでVBAで。

Sub test()
Dim x, c
x = Application.Max(Range("B2:F5"))
Set c = Range("B2:F5").Find(What:=x, LookIn:=xlValues, LookAt:=xlWhole)
MsgBox c.Address(0, 0) & "セルが最大値です。セレクトします。"
c.Select
End Sub
    • good
    • 0
この回答へのお礼

問題解決しました。ありがとうございました。

お礼日時:2007/06/16 17:56

[ANo.4の補遺]


B7: =MAX(B2:F5)
    • good
    • 0

行番号:  {=MAX((B2:F5=B7)*ROW(B2:B5))}


列番号:  {=MAX((B2:F5=B7)*COLUMN(B2:F2))}
セル番地: {=ADDRESS(MAX((B2:F5=B7)*ROW(B2:B5)),MAX((B2:F5=B7)*COLUMN(B2:F2)))}
【注】いずれも配列数式
    • good
    • 1
この回答へのお礼

問題解決しました。ありがとうございました。

お礼日時:2007/06/16 17:56

次の様な事でしょうか。


行番号=SUMPRODUCT(($B$2:$F$5=MAX($B$2:$F$5))*ROW($B$2:$B$5))
列番号=SUMPRODUCT(($B$2:$F$5=MAX($B$2:$F$5))*COLUMN($B$2:$F$2))
    • good
    • 1
この回答へのお礼

問題解決しました。ありがとうございました。

お礼日時:2007/06/16 17:56

行番号


=MAX(INDEX((B2:F5=MAX(B2:F5))*ROW(B2:F5),))

列番号
=MAX(INDEX((B2:F5=MAX(B2:F5))*COLUMN(B2:F5),))

ただしR1C1形式です。
    • good
    • 0
この回答へのお礼

問題解決しました。ありがとうございました。

お礼日時:2007/06/16 17:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!