【小记】excel vlookup一对多匹配

一个学生报四门课,输出每个学生课程

应用概述

应用场景:学生报名考试,需要整理成指定格式,发给考试院。

一个学生最多报考四门

复制代码
格式实例:准考证号   姓名   科目1   科目2  科目3  科目4

原数据报名表:

最后得到结果:

操作

预处理数据

创建两个新excel表。

表1:将各sheet里的所有数据,复制进去

表2:将各sheet里的所有 准考证号数据,复制进去

注:姓名可能存在同名,准考证号是唯一的。

表2中操作:选中列,重复项,使得每个准考证号只出现1次。

计数指令 COUNTIFS

在表1中,

step1 准考证号左边插入一列,进行计数COUNTIFS,用于后面vlookup匹配使用。

复制代码
COUNTIFS($B$1:B1,B1)
注意是$B$1 固定引用,COUNTIFS表示B1出现了第几次

step2 B1基础上加上次数

复制代码
=B1&COUNTIFS($B$1:B1,B1)

将去除过重复项 的表2,复制进表1

进行一对多匹配 vlookup

复制代码
=VLOOKUP($H1&1,$A:$E,5,0)

注意:是$H1,将H列锁定 $A$E
&1 :准考证号在 A到E列 第1次出现,	匹配第5列的数据(即科目)
&2 :准考证号在 A到E列 第2次出现,	匹配第5列的数据(即科目)
&3:准考证号在 A到E列 第1次出现,	匹配第5列的数据(即科目)
&4 :准考证号在 A到E列 第2次出现,	匹配第5列的数据(即科目)

补充:如果存在匹配不到的,默认使用空

复制代码
=IFERROR(VLOOKUP($H1&1,$A:$E,5,0),"")
相关推荐
Java水解20 小时前
深入掌握 ExcelJS:Node.js 中强大的 Excel 操作库
后端·excel
MATLAB代码顾问20 小时前
Python实现星雀优化算法(Nutcracker Optimizer Algorithm, NOA) (附完整代码)
大数据·python·excel
偷心伊普西隆21 小时前
Python Excel 比较 sheet 之间的差异
python·excel
nyf_unknown21 小时前
(vue)前端下载本地excel文件
前端·vue.js·excel
脑花儿21 小时前
ABAP EXCEL模板数据上传 及 注意事项
开发语言·excel
一叶飘零_sweeeet21 小时前
攻克 大 Excel 上传难题:从异步处理到并发去重的全链路解决方案
java·excel·大文件上传
咖啡星人k21 小时前
MonkeyCode+Excel混合双打:3步把表格变成可视化大屏
人工智能·excel
吴声子夜歌21 小时前
Excel——常用函数三
excel
Waitind_21 小时前
Excel常用函数
excel
揭老师高效办公21 小时前
WPS表格和Excel中快速选择有批注的全部单元格
excel·wps表格