学习Excel技术,关注微信公众号:
excelperfect
在《Excel公式技巧54:在多个工作表中查找最大值最小值》中,我们在MAX/MIN函数中使用多工作表引用来获取最大值/最小值。在《Excel公式技巧55:查找并获取最大值最小值所在的工作表》中,我们更进一步,获取最大值/最小值所在的工作表名称。本文来讲解如何利用公式获取最大值/最小值在哪个单元格。
示例工作表数据如下图1所示,我们可以使用MAX/MIN函数获取工作表数据的最大值/最小值,并且由于数据较少,可以清楚地看出最大值所在的单元格为B2,最小值位于单元格A2。
图1
可以使用ADDRESS函数来获取单元格地址,但关键是要传递给该函数合适的行列参数。在单元格D7中输入公式:
=ADDRESS(INDEX(ROW(A1:A4),SUMPRODUCT((A1:D4=C7)*(ROW(A1:D4)))),INDEX(COLUMN(A1:D1),SUMPRODUCT((A1:D4=C7)*(COLUMN(A1:D4)))),1,1)
得到最大值所在的单元格地址:
2
公式中:
ROW(A1:A4)
解析为:
{1;2;3;4}
ROW(A1:D4)
解析为:
{1,1,1,1;2,2,2,2;3,3,3,3;4,4,4,4}
COLUMN(A1:D1)
解析为:
{1,2,3,4}
COLUMN(A1:D4)
解析为:
{1,2,3,4;1,2,3,4;1,2,3,4;1,2,3,4}
A1:D4=C7
解析为:
{FALSE,FALSE,FALSE,FALSE;FALSE,TRUE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE}
将上述中间数组代入:
SUMPRODUCT((A1:D4=C7)*(ROW(A1:D4)))
得到:
SUMPRODUCT({FALSE,FALSE,FALSE,FALSE;FALSE,TRUE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE}*{1,1,1,1;2,2,2,2;3,3,3,3;4,4,4,4})
得到:
SUMPRODUCT({0,0,0,0;0,2,0,0;0,0,0,0;0,0,0,0})
结果为:
2
代入第一个INDEX函数中得到:
INDEX(ROW(A1:A4),2)
转换为:
INDEX({1;2;3;4},2)
得到:
2
同样,第二个INDEX函数的结果为2,代入ADDRESS函数得到:
ADDRESS(2,2,1,1)
结果为:
2
同理,在单元格D8中输入公式:
=ADDRESS(INDEX(ROW(A1:A4),SUMPRODUCT((A1:D4=C8)*(ROW(A1:D4)))),INDEX(COLUMN(A1:D1),SUMPRODUCT((A1:D4=C8)*(COLUMN(A1:D4)))),1,1)
得到结果:
2
最终结果如下图2所示。
图2
欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有