前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel公式技巧51: 根据条件来排序(续)

Excel公式技巧51: 根据条件来排序(续)

作者头像
fanjy
发布2020-09-04 11:06:20
2K0
发布2020-09-04 11:06:20
举报
文章被收录于专栏:完美Excel

在《Excel公式技巧50:根据条件来排序》中,我们基于指定的一个条件对数据进行排序,所举示例为给不同区域的员工按销售额从大到小的顺序排序,结果如下图1所示。

图1

如果想要基于两个条件或者多个条件来排序呢?例如,下图2所示的工作表,给员工按区域和不同产品的销售额从大到小来排序。

图2

在单元格E2中输入公式:

=SUMPRODUCT((B2:B24=B2)*(C2:C24=C2)*(D2<D2:D24))+1

下拉至对应的数据单元格结束为止,结果如下图3所示。

图3

如图3所示,在华中区域销售产品1的有两名员工,员工1排名第2,而员工17排名第1。

公式中:

(B2:B24=B2)

将公式所在单元格中行对应的列B中的值与单元格区域B2:B24中的每个值相比较,得到一个由TRUE/FALSE值组成的数组:TRUE表示区域中与该单元格值相等的单元格,FALSE表示不相等的单元格。

同理,公式中:

(C2:C24=C2)

也得到一个由TRUE/FALSE值组成的数组,表示公式所在单元格中行对应的列C中的值与单元格区域C2:C24中的每个值相对较的结果。

公式中:

(D2<D24)

将公式所在单元格行对应的列D中的值与单元格区域D2:D24中的每个值比较,如果比该值大则为TRUE,否则为FALSE,也得到一个由TRUE/FALSE值组成的数组。

三个数组相乘,代表与的关系,即在指定的区域中指定的产品的销售额的比较。

下面是公式的转换过程,公式可以转换为:

=SUMPRODUCT({TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}*{TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE}*{FALSE;TRUE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;TRUE;TRUE})+1

转换为:

=SUMPRODUCT({0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;1;0;0;0;0;0;0})+1

即:

=1+1

=2

加上1,表明单元格D2中的值在对应区域中销售的产品销售额从大到小排列的位置。示例中,1表示单元格D2中的值在对应区域中销售的产品中有1个的销售额数值比它大,那么它排在第2位。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料。

完美Excel社群2020.8.31动态

#Excel公式# 查找一列中有多少个值出现在另一列中

#话题# 关于Excel中的高级筛选功能

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档