送东说念主玫瑰,手多余香,请将著作共享给更多一又友
起先操作是熟练掌抓EXCEL的最快捷路线!
【置顶公众号】或者【设为星标】实时接纳更新不迷途
图片
小伙伴们好,今天来和人人共享一说念烧脑的排序题目。说这说念题目难,是因为它包含有归拢单位格,而且,要以归拢单位格为分组,进行组内排序。
今天先容的的这两种形貌,是贬责这类题标的两个常用妙技和技术。此类型题目在正常责任中也芜俚会遭受,有心的小伙伴们可要储藏好喽!
原题是这神志的:
图片
将左侧的源数据按分组进行由大到小排序。一又友们有什么好的形貌吗?
01按组排序
所谓按组排序,即是按照小组划分来排序,先排第一组,再循序排序后头的小组。
图片
在单位格H2中输入下列公式,三键回车并向下向右拖曳即可。
=INDEX(C$2:C$13,MOD(MAX(((LOOKUP(ROW($A$2:$A$13),ROW($A$2:$A$13)/($B$2:$B$13<>""))*(1-COUNTIF($H$1:H1,$C$2:$C$13)))/1%%%+$D$2:$D$13/1%+ROW($D$2:$D$13))*(LOOKUP(ROW($B$2:$B$13),ROW($B$2:$B$13)/($B$2:$B$13<>""),$B$2:$B$13)=LOOKUP("座",$B$2:$B2))),100)-1)
公式比较长,咱们底下一说念来剖析一下。
念念路:
LOOKUP(ROW($A$2:$A$13),ROW($A$2:$A$13)/($B$2:$B$13<>""))部分,这里使用的LOOKUP函数的一个常用技术,标的是要用行标来填充空缺的单位格。公式的成果为{2;2;2;5;5;5;8;8;8;8;12;12}
(1-COUNTIF($H$1:H1,$C$2:$C$13))部分,标的是将在H列中依然提真金不怕火到的数据从源数据中屏蔽掉,幸免其再次被提真金不怕火。这么作念的原因咱们后头再讲解注解
接下来咱们开动加权处理。上头两部分的成果相乘,并扩大1百万倍;同期将D列的数据扩大1百倍。这两者相加后再加上对应的行号。这部分的成果是{2086302;2094503;2060704;5072105;5080906;5002607;8019108;8010909;8024110;8013711;12006412;12081813}
接下来咱们看条目。
LOOKUP(ROW($B$2:$B$13),ROW($B$2:$B$13)/($B$2:$B$13<>""),$B$2:$B$13)部分,和上头先容的一样,欺诈LOOKUP函数用小组名来填充空缺单位格。其成果为{"第一组";"第一组";"第一组";"第二组";"第二组";"第二组";"第三组";"第三组";"第三组";"第三组";"第四组";"第四组"}
LOOKUP("座",$B$2:$B2)部分,跟着公式向下拖曳,它循序会复返第一组、第二组、第三组和第四组。这亦然欺诈的LOOKUP函数的特色,“座”字在EXCEL中是一个比较大的汉字,在一个区域内查找“座”,要是查找不到,会复返其找到的终末一个字符
这两部分比较较,即是条目,它笃定了小组排序的边界。其成果为{TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE},前三个TRUE就代表了是第一小组
上头扫数这些加权和条目乘在一说念,成果如下{2086302;2094503;2060704;0;0;0;0;0;0;0;0;0},你看,非0部分即是第一小组的数据
欺诈MAX函数提真金不怕火到最大值。这里不可用LARGE函数。因为LARGE函数有第二参数,第二参数跟着公式向下拖曳会按当然数序列增长。而咱们小组排序时每个小组皆要按第一、第二、第三来提真金不怕火数据的,因此这里不可使用LARGE函数。而要使用MAX函数,就要确保小组的每一个数值皆有契机当上最大值。因此就需要借助(1-COUNTIF($H$1:H1,$C$2:$C$13))来处理。在第二行时,COUNTIF函数的查找边界是$H$1:H1,查找的成果是{0;0;0;0;0;0;0;0;0;0;0;0},1减去自后得回的成果是{1;1;1;1;1;1;1;1;1;1;1;1},相乘后暗意考中全部的源数据,最终MAX函数取最大值前的边界是{2086302;2094503;2060704;0;0;0;0;0;0;0;0;0},取出的最大值是2094503;当公式拖曳到第三行时,COUNTIF函数的查找边界就形成了$H$1:H2,在这个边界内依然包含了第一个查找值“韩雪琳”,物联网软件开发开发价格因此COUNTIF函数的成果即是{0;1;0;0;0;0;0;0;0;0;0;0},暗意源数据中第二行的“韩雪琳”被找到。1减去自后得回的成果是{1;0;1;1;1;1;1;1;1;1;1;1},暗意源数据中除第二行外,其余皆不错考中。最终MAX函数取最大值前的边界是{2086302;94503;2060704;0;0;0;0;0;0;0;0;0},取出的最大值即是2086302
取到最值后,再欺诈MOD函数对100求余,得回了行号,终末再欺诈INDEX函数复返正确谜底
02举座排序
这种形貌,咱们不去琢磨归拢单位格了,只看D列的数据。相同,也需要进行加权处理。
图片
首选选中单位格区域H2:H13,并输入下列公式,三键回车证据。
=INDEX(C$2:C$13,MATCH(LARGE((9-SUBTOTAL(3,OFFSET($B2,,,ROW($1:$12))))/1%%+$D2:$D13,ROW($1:$12)),(9-SUBTOTAL(3,OFFSET($B2,,,ROW($1:$12))))/1%%+$D2:$D13,))
念念路:
奇偶形态判断:前面10期奖号中,包含全偶形态1期,两偶一奇形态2期,两奇一偶形态3期,全奇形态4期。
SUBTOTAL(3,OFFSET($B2,,,ROW($1:$12)))部分,以单位格B2为基点向下偏移,偏移后的行高划分是1、2、…、12行,再欺诈SUBTOTAL函数统计非空单位格个数。其运算成果为{1;1;1;2;2;2;3;3;3;3;4;4}
9-SUBTOTAL(3,OFFSET($B2,,,ROW($1:$12)))部分,是这说念题标的关节。它达成的大小的逆序,成果为{8;8;8;7;7;7;6;6;6;6;5;5}
(9-SUBTOTAL(3,OFFSET($B2,,,ROW($1:$12))))/1%%+$D2:$D13部分,扩大1万倍后,在加上D列的数值。这么就确保了所特等据领先是按照第一组、第二组、第三组和第四组的法例来罗列。其成果为{80863;80945;80607;70721;70809;70026;60191;60109;60241;60137;50064;50818},你看,前三个数据皆是第一小组的,然而还莫得排序
LARGE((9-SUBTOTAL(3,OFFSET($B2,,,ROW($1:$12))))/1%%+$D2:$D13,ROW($1:$12))部分,欺诈LARGE函数按照从大到小的法例罗列,其成果为{80945;80863;80607;70809;70721;70026;60241;60191;60137;60109;50818;50064}。你看,前三个数据皆是第一小组的,而且也按照从大到小罗列了
接下来,欺诈MATCH函数来查找LARGE函数这部分红果中的每个数据在(9-SUBTOTAL(3,OFFSET($B2,,,ROW($1:$12))))/1%%+$D2:$D13这部分中的位置。其成果为{2;1;3;5;4;6;9;7;10;8;12;11}
终末,得回位置信息后,欺诈INDEX函数复返正确谜底。
小程序开发 03底下这条函数亦然举座排序,相同亦然区域数组公式。它不错看作念是上头第二个公式的篡改版。
图片
一又友们,这条公式你们或者看懂吗?
本期本色闇练文献提真金不怕火时势:
贯穿:https://pan.baidu.com/s/1Q0Joi9Ik-niBfOrmP1Za3w?pwd=rm8p
提真金不怕火码:rm8p
好了一又友们,今天和人人共享的本色即是这些了!可爱我的著作请共享、转发、点赞和储藏吧!如有任何问题不错随时私信我哦!-END-
长按下方二维码温柔EXCEL应用之家
濒临EXCEL操作问题时不再迷濛无助
我就知说念你“在看”
推选阅读变短的下拉清单
依据关节字动态变更下拉清单,你会制作吗?
函数组合中有好多固定搭配,而这一组尤为知名!
【SHIFT】键,想说懂你阻隔易!
两种形貌破解特地要求的数字提真金不怕火汇总物联网app开发,皆挺好用的!
本站仅提供存储办事,扫数本色均由用户发布,如发现存害或侵权本色,请点击举报。