分享

【MATCH函数】和【OFFSET函数】组合多条件动态提最值

 EXCEL应用之家 2022-10-19 发布于上海


送人玫瑰,手有余香,请将文章分享给更多朋友

动手操作是熟练掌握EXCEL的最快捷途径!

【置顶公众号】或者【设为星标】及时接收更新不迷路



小伙伴们好,今天要和大家分享一道关于查找引用的题目。题目是这样子的:



如何用公式来提取所要求的成绩呢?

简单分析一下这个题目。题目本身并不是特别难,只要按照条件来提取数据就可以了。难点在于,它要提取最高分和最低分,这个是不可能在一个公式中完成的,因此只能利用IF函数来做逻辑判断后,根据条件执行不同的公式。

好了,下面我们一起来看看如何书写这个公式吧!


01

这个公式写下来又是一个超级火车。



但是公式本身的逻辑思路并不复杂。在单元格G2中输入公式“=IF(MOD(COLUMN(G:G),2),MAX(($B$2:$B$10=$F2)*(OFFSET($B$2:$B$10,0,MATCH(LEFT(G$1,2)&"*",$C$1:$D$1,)))),MIN(IF(($B$2:$B$10=$F2)*(OFFSET($B$2:$B$10,0,MATCH(LEFT(G$1,2)&"*",$C$1:$D$1,)))>0,OFFSET($B$2:$B$10,0,MATCH(LEFT(G$1,2)&"*",$C$1:$D$1,)))))”,三键回车并向右向下拖曳即可。

思路:

  • 结构上讲,这是一个简单IF函数。MAX函数部分解决最高成绩的问题;MIN函数解决最低成绩的问题;MOD函数部分的作用是做逻辑判断,单数列执行MAX函数;偶数列执行MIN函数。

  • $B$2:$B$10=$F2部分,条件之一

  • OFFSET($B$2:$B$10,0,MATCH(LEFT(G$1,2)&"*",$C$1:$D$1,))部分,则是根据当前单元格所在行的标题来返回对应的成绩数据

  • 以上部分最终由MAX函数返回对应条件的最大值

  • MIN函数部分也是相同的。只不过多了一层IF函数的嵌套。原因是,两个条件相乘后生成的内存数组中有数值“0”存在,影响了MIN函数对最小值的提取。这里用IF函数将“0”替换为FALSE

每天学习一点点,每天进步一点点!


好了朋友们,今天和大家分享的内容就是这些了!喜欢我的文章请分享、转发、点赞和收藏吧!如有任何问题可以随时私信我哦!

-END-

长按下方二维码关注EXCEL应用之家

面对EXCEL操作问题时不再迷茫无助

我就知道你“在看”

推荐阅读

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多