如何使用excel制作查分系统
在工作学习中,我们经常会遇到使用excel制作查分系统这样的问题。培根说过:读书足以恬情,足以博采,足以长才。因此,面对使用excel制作查分系统我们应该有努力探索的精神。书到用时方恨少,事非经过不知难。对于这个问题也是一样的。读书忌死读,死读钻牛角,对于使用excel制作查分系统我们一定要从不同角度去理解,只有这样才能找到解决办法。培根说过:读书足以恬情,足以博采,足以长才。
我们对数据进行查询时,经常会使用VLOOKUP函数。
但有时,我们会碰到这样的问题,提取符合条件的结果是多个,而不是一个,这时候VLOOKUP就犯难了。
举个例子,如下图,左侧A1:C10是一份学员名单表,现在需要根据F1单元格的“EH图班”这个指定的条件,在F2:F10单元格区域中,提取该班级全部学员名单。
今天说一个函数查询方面的万金油套路:Index+Small。
F2单元格输入以下数组公式,按住Ctrl+Shift键不放,再按回车键,然后向下填充:
=INDEX(B:B,SMALL(IF(A$1:A$10=F$1.ROW($1:$10),4^8),ROW(A1))),"")
这个公式看起来可就比上面那个VLOOKUP的解法苗条养眼多了,坦白的说,很搭俺星光十年后的匪号——小清新。
1、公式讲解
IF(A$1:A$10=F$1.ROW($1:$10),4^8)
这部分,先判断A1:A10的值是否等于F1.如果相等,则返回A列班级相对应的行号,否则返回4^8.也就是65536.一般情况下,工作表到这个位置就没有数据了。
结果得到一个内存数组:
{65536;2;3;65536;65536;65536;65536;8;65536;10}
SMALL函数对IF函数的结果进行取数,随着公式的向下填充,依次提取第1、2、3……n个最小值,由此依次得到符合班级条件的行号。
随后使用INDEX函数,以SMALL函数返回的行号作为索引值,在B列中提取出对应的姓名结果。
当SMALL函数所得到的结果为65536时,意味着符合条件的行号已经被取之殆尽了,此时INDEX函数也随之返回B65536单元格的引用,结果是一个无意义的0.为了避免这个问题,可以在公式后面加上一个小尾巴&""
利用&””的方法,很巧妙的规避了无意义0值的出现,只是当查找结果为数值或日期时,这个方法会把数值转变为文本值,并不利于数据的准确呈现以及再次统计分析。
2、练手题
最后留下一道练手题,如下图,根据A1:C10区域的数据,将E列相关班级的姓名,填充到F2:I5区域。
以上就是小编对于使用excel制作查分系统的介绍,不知道是否解决了您的问题,欢迎给我留言就使用excel制作查分系统与我讨论。
最新文章
- 附加属性出现Failed to assign to property的问题
- QuickContactBadge去掉三角
- Create a geoprocessing tool to buffer a layer and retrieve messages____sync
- Responsive Web CSS – 在线响应式布局创建器
- rm: Argument list too long
- PostgreSQL9.1 upgrade to PostgreSQL9.5rc1
- scala简单的文件操作
- Twitter Storm如何保证消息不丢失
- JS脚本显示当前日期+星期几[转]
- CodeForces 697B Barnicle 模拟
- iOS 环信透传cmd消息多次重复接收,解决办法
- 王之泰/王志成《面向对象程序设计(java)》第十一周学习总结
- spring4注解配置datasource方式
- ActiveMQ常见消息类型
- [UGUI]Image源码分析
- HashMap 和 HashTable 的区别
- 软件申请获取root权限
- topcoder srm 620 div1
- Github使用笔记
- Java反射学习总结
热门文章
- H5网页应用打包安卓App (全网最详细教程)
- InstallShield 2013 Limited Edition for Visual Studio
- 大数据开发-从cogroup的实现来看join是宽依赖还是窄依赖
- Leetcode(884)-索引处的解码字符串
- Pymongo 笔记
- SPOJ - LCS2 Longest Common Substring II(后缀自动机)题解
- 杭电多校HDU 6601 Keen On Everything But Triangle(主席树)题解
- ZOJ 2563 Long Dominoes(状压DP)题解
- Tailwind CSS in Action
- MBP 2018