一点鼠标 相关数据全提取

2016-05-31 09:16马震安
电脑爱好者 2016年10期
关键词:嵌套数据表单元格

马震安

在作品登记表中,对于有学员多次提交作品记录的情况,如何按学员姓名提取其作品与成绩表以供学员核对?本文提供两种解决办法。

案例与分析:

在如图1左侧的学生作品登记表中存放了学生在不同日期上交电子作品的记录,许多学生都上交过多次作品。到了学期末,需要将源数据表中的数据按姓名单独提取到另外一个表中进行打印,以供学生核对(如图1中间)。遇到这样的问题,我们一般会想到用自动筛选。但自动筛选出的数据要想在另外的表中按统一格式打印,还得一个个复制,太麻烦。此外还会想到用VLOOKUP函数,但由于源数据表中按姓名提取的话会有多条重复记录,而VLOOKUP函数只能查找第一个符合条件的值,这显然不行。其实,有另外两种方法可以实现,一个是用辅助列法,一个是用公式嵌套法。

1. 辅助列法提取数据

在源数据表的最右侧插入一个辅助列,即本例中的E列,在E3单元格输入函数“=COUNTIF ($A$2:A3,Sheet2!$G$1)”,并向下填充到所有记录(图2)。

接着,在提取显示表Sheet2中A3单元格输入公式“=IFERROR(INDEX(Sheet1!A:A,MATCH(ROW(Sheet1!1:1),Sheet1!$E:$E,)),"")”,向右向下拖动填充到相应单元格,这时就可以根据G1单元格中输入或选择的值进行数据的筛选提取了(图3)。

2. 公式法提取数据

当然,如果不用辅助列,而用一个嵌套的公式,也能够提取相关数据。

在A3单元格输入:=IFERROR(INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$A$2:$A$30=$G$1,ROW(Sheet1!$A$2:Sheet1!$A$30)),ROW(Sheet1!1:1))),""),同时按下Ctrl+Shift+Enter组合键,向右向下拖动填充即可。

猜你喜欢
嵌套数据表单元格
基于嵌套Logit模型的竞争性选址问题研究
玩转方格
玩转方格
基于列控工程数据表建立线路拓扑关系的研究
浅谈Excel中常见统计个数函数的用法
图表
一种基于区分服务的嵌套队列调度算法
基于VSL的动态数据表应用研究
无背景实验到有背景实验的多重嵌套在电气专业应用研究
连续批加工过程中嵌套自相关数据的控制图设计