分享

太惊喜了!再次遇到{-1,1},瞬间感觉自己的表格技巧被唤醒了!

 EXCEL应用之家 2024-05-20 发布于上海

欢迎转发和点一下“在看”,文末留言互动!

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



小伙伴们好,今天来和大家分享一道比较烧脑的题目。题目是一道计算题,要求找出一组数据中的重复值后,再求两数的差值。

原题下面这个样子的:



如何使用函数来解决这个问题呢?

简单分析一下这道题目。

想要找出重复值,可以使用MATCH函数。找到重复之后(已知有两个重复值)就可以借助LARGE函数或者SMALL函数将它们提取出来。最后就可以进行差值的计算了。


01



在单元格G2中输入下列公式,三键确认后向下拖曳即可。

=SUM(LARGE(IF(MATCH(A2:E2,A2:E2,0)<>COLUMN(A:E),A2:E2),{1,2})*{1,-1})
MATCH(A2:E2,A2:E2,0)

MATCH(A2:E2,A2:E2,0)部分,返回数据源中各数据的位置信息。

MATCH(A2:E2,A2:E2,0)<>COLUMN(A:E)

MATCH(A2:E2,A2:E2,0)<>COLUMN(A:E)部分,逻辑判断。如果有重复值,那么重复值的位置数值和列号是不相等的。

IF(MATCH(A2:E2,A2:E2,0)<>COLUMN(A:E),A2:E2)

IF函数返回逻辑为真时对应的数值,也就是重复的数值。

LARGE(IF(MATCH(A2:E2,A2:E2,0)<>COLUMN(A:E),A2:E2),{1,2})

LARGE函数提取前两位数值。

LARGE(IF(MATCH(A2:E2,A2:E2,0)<>COLUMN(A:E),A2:E2),{1,2})*{1,-1}

*{1,-1}部分,对应地,将大值乘以1,小值乘以-1。

SUM(LARGE(IF(MATCH(A2:E2,A2:E2,0)<>COLUMN(A:E),A2:E2),{1,2})*{1,-1})

最后SUM函数求和即可。


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

-END-

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多