获得最大值的单元格地址

如何获得一行中最大值所在的单元格地址?
=ADDRESS(MAX((C8:G8=MAX(C8:G8))*ROW(C8:G8)),MAX((C8:G8=MAX(C8:G8))*COLUMN(C8:G8)),4)
单元格地址即行号和列标,如A1
ADDRESS()
即是返回单元格地址的函数。此公式通过MAX()函数得到行中最大值的地址。最小值与此类似。
可在公式审核中一步步求值,即可看出此公式的计算过程。

------------------------------------

再引申一下:如何获得一个区域中的最大值所在的单元格地址?比如下图中的A1:E5这个范围内的最大值是C4.

=ADDRESS(MAX((A1:E5=MAX(A1:E5))*ROW(A1:E5)),MAX((A1:E5=MAX(A1:E5))*COLUMN(A1:E5)),4)
注意是数组公式!

分解来看:

=ADDRESS
(
    MAX
    (
        (A1:E5=MAX(A1:E5))*ROW(A1:E5)
    ),                                --最大值所在的行
    MAX
    (
        (A1:E5=MAX(A1:E5))*COLUMN(A1:E5)
    ),                                --最大值所在的列
    4
)

 

 2012-09-29

posted @ 2012-04-17 22:11  ibg  阅读(625)  评论(0编辑  收藏  举报