让我们一起探索一下这些藏在excel自动排序中的“小秘密”。-英雄云拓展知识分享
9642
2024-07-31
当老师的,对分析学生成绩大概有瘾。这不,本来我们已把学生各学科的成绩、总分、名次都排出来了,并依照总分进行了升序排序,但现在又有任课老师过来要求希望能够把自己学科的前10名的学生姓名及成绩找出来。按理说,这个要求其实不是很困难,但是麻烦就在于学生各科名次有
当老师的,对分析学生成绩大概有瘾。这不,本来我们已把学生各学科的成绩、总分、名次都排出来了,并依照总分进行了升序排序,但现在又有任课老师过来要求希望能够把自己学科的前10名的学生姓名及成绩找出来。按理说,这个要求其实不是很困难,但是麻烦就在于学生各科名次有可能相同,这样的话,前10名的学生其实不一定是10个人,有可能更多。每一个学科都要这么做的话,工作量也不小,所以,还是得靠函数和公式来帮忙。
图1 原始成绩表
原始的成绩表如图1所示。姓名位于C2:C92单元格,语文成绩位于D2:D92单元格区域。我们就以查找语文学科的前10名成绩及学生姓名为例。为方便比较结果,图1中我们已将数据案语文成绩降序进行了排序,实际操作中是不需要事前排序的。
一、名次表的建立
前面我们说过,我们不太容易肯定排在前10名的学生共有多少,所以,我们需要使用公式将它们找出来。固然,最好顺便将名次表填写出来。完成结果如图2所示。
图2 成绩排序
将鼠标定位于X3单元格,然后在编辑栏输入公式“=TEXT(SUMPRODUCT(($D:$D>=LARGE($D:$D,ROW(1:1)))/COUNTIF($D:$D,$D:$D)),"第G/通用格式名")”,回车后就能够得到“第1名”的结果。选定X3单元格,向下拖动其填充句柄至出现“第11名”为止。
这里用到了几个函数,感觉上比较复杂。其实思路是这样的:“ROW(1:1)”的结果是“1”,而“LARGE($D:$D,1)”的结果是在指定的单元格区域中最大的一个数;那末公式中“($D:$D>=LARGE($D:$D,ROW(1:1)))”可以理解为拿D2:D92单元格区域中的数据与该区域中最大值比较,大于或等于该值及小于该值的则会分别以“TRUE”、“FALSE”的结果保存在一个数组中。
公式中“COUNTIF($D:$D,$D:$D))”部份则会统计D2:D92单元格区域中每个数值出现的次数,也分别保存到一个数组中。所以,我们所用公式中“SUMPRODUCT(($D:$D>=LARGE($D:$D,ROW(1:1)))/COUNTIF($D:$D,$D:$D))”在履行时会得到一个类似于“SUMPRODUCT({TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;…}/{1;1;2;2;1;2;2;1;2;2;2;2;1;…})”的结果。两个数组中的对应的数据分别相除,再将所有的商相加,正是分数所对应的名次。这类方法即便名次是并列的,也不会作用显示效果。
至于最外层的TEXT函数,则是将得到的结果转换为按指定数字格式表示的文本。也就是本来内层公式运算的结果是数字“1”,现在我们将它显示为“第1名”。
2、分数的查找
将鼠标定位于Y3单元格,在编辑栏中输入以下公式“=INDEX($D:$D,MATCH(LARGE($D:$D 1/ROW($D:$D),ROW(1:1)),$D:$D 1/ROW($D:$D),0))”,然后按下“Ctrl Shift Enter”快捷键,完成数组公式的输入。这一步很关键的,否则不会出现正确的结果。
向下拖动Y3单元格的填充句柄向下至最后一个单元格完成公式的复制。
我们还是简单解释一下公式的思路。
由于D2:D92区域中有很多数据是重复的,这给我们造成了困难。所以,我们要想办法使每数据都变成唯一。公式中“$D:$D 1/ROW($D:$D)”就是给D2:D92区域中每个数据都加了该数据对应行数的倒数。由于每数据对应的行数是不一样的,这样,就会使每数据都变成了唯一的值,并保存到了一个数组中。
公式中的“LARGE($D:$D 1/ROW($D:$D),ROW(1:1))”还是返回了上面所得数组中的最大值。本例中的结果是“{96.5}”。
公式中“MATCH(LARGE($D:$D 1/ROW($D:$D),ROW(1:1)),$D:$D 1/ROW($D:$D),0)”返回的是刚刚得到的最大值在数组中的位置。本例中的结果是“{1}”。
这样,其实Excel最后履行的查询就是“INDEX($D:$D,1)”了,自然可以返回在$D:$D区域中的第一个值了。
3、姓名的查找
将鼠标定位于Z3单元格,在编辑栏中输入公式“=INDEX($C:$C,MATCH(LARGE($D:$D 1/ROW($D:$D),ROW(1:1)),$D:$D 1/ROW($D:$D),0))”,一样按下“Ctrl Shift Enter”快捷键完成数组公式的输入。
向下拖动Z3单元格的填充句柄向下至最后一个单元格完成公式的复制。最后的效果如图3所示。
图3 完成公式的复制
其实您肯定已明白了,姓名的查找与前面分数的查找是一样的。公式本身也没有甚么大的变化。所以,明白了前面的方法,要查找别的甚么东西也就方便了。
其它的学科可以照此办理。只要注意变换一下公式中的单元格区域就能够了,我这里就不罗嗦了。
>>>>🚀🌟 点击注册 免费试用 更高级的-英雄云企业级云表单 🌟🚀 😃👉🌐>>>>
在现代企业管理中,数据的高效管理和处理至关重要。随着信息技术的不断发展,英雄云的云表单已经成为了提高数据录入、管理和分析效率的不可或缺的工具。让我们来深入探讨英雄云-云表单的几大优势。
基础字段:多样性满足业务需求
英雄云的云表单中包括了各种基础字段,如单行文本、多行文本、数字输入框、单选框、复选框、下拉框、下拉复选框、日期时间、分割线等。这些字段的多样性使用户可以根据具体的业务需求,轻松进行文本、数据和时间信息的录入或修改。例如,您可以使用单行文本字段录入员工姓名、产品型号等,或者使用下拉框进行多选,根据不同情况选择更加方便的字段类型。
高级字段:提升工作效率
英雄云的云表单还提供了高级字段,如地址、图片、附件、手写签名、手机、子表、关联数据、关联查询以及流水号。这些高级字段在基础字段的基础上升级,可帮助用户完成一些琐碎的工作。例如,使用地址字段可以避免逐字打字,而流水号字段可以自动生成规律性的编号,非常适用于合同编号生成等场景。
部门成员字段:精确管理与通讯录的关联
英雄云的部门成员字段允许企业对各个部门的成员进行精确管理。用户可以通过部门成员字段获取通讯录中的部门成员信息,应用于记录报销人、报销部门等场景。这些成员字段还细分为成员单选和成员多选,可根据具体需求在通讯录中选择一个或多个成员。
聚合表:数据处理更智能
英雄云的聚合表功能用于对已存在的表单数据进行聚合计算,从而得到一张聚合表,后续其他表单可调用聚合表进行数据联动、关联查询和关联数据等操作完成数据处理。这一功能可应用于多种场景,如进销存管理、财务管理和门店零售管理等,帮助企业完成数据处理,提高工作效率。
表单权限设置:灵活管理数据访问
英雄云的表单权限设置允许用户根据企业的具体需求管理表单的访问和操作权限。用户可以根据系统权限或自定义权限对不同成员或团队进行权限设置,以确保数据的安全和合规性。这一功能使企业能够根据变化的业务需求和团队结构,实时调整权限设置。
自定义打印模板:文档输出更便捷
英雄云的云表单支持自定义打印模板,可将表单数据转换为可打印的Word文档。用户可以根据自己的需求进行排版和编辑,将产品规格说明书等文档轻松生成。这一功能提供了一种标准化的文档输出方式,简化了信息整理的过程。
综合来看,选择英雄云的云表单意味着选择更智能、更灵活、更高效的数据管理工具。无论是提高工作效率,精确管理数据,还是实现数据处理,英雄云的云表单都能满足您的多样化需求,助力您的业务发展。
如果您正在寻找一款强大的云表单工具,不妨考虑英雄云,它将为您带来更多的便捷和智能,助您事半功倍。
免责声明:
本网址(www.yingxiongyun.com)发布的材料主要源于独立创作和网友匿名投稿等来源。此处提供的所有信息仅供参考之用。我们致力于提供准确且可信的信息,但不对材料的完整性或真实性作出任何保证。用户应自行验证相关信息的正确性,并对其决策承担全部责任。对于由于信息的错误、不准确或遗漏所造成的任何损失,本网址不承担任何法律责任。本网站所展示的所有内容,如文字、图像、标志、音频、视频、软件和程序等的版权均属于原创作者。如果任何组织或个人认为网站内容可能侵犯其知识产权,或包含不准确之处,请即刻联系我们进行相应处理。
发表评论
暂时没有评论,来抢沙发吧~