【小记】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),"")
相关推荐
番石榴AI1 天前
自己动手做一款ChatExcel数据分析系统,智能分析 Excel 数据
人工智能·python·数据挖掘·excel
Lucky GGBond1 天前
使用 EasyExcel 封装通用 Excel 导出工具类
excel
似水流年 光阴已逝2 天前
从Excel姓名匹配案例学Python:由点及面的系统化学习指南
开发语言·python·excel
best_scenery2 天前
用excel绘制茎叶图
excel·分布图
rannn_1112 天前
【学以致用|python自动化办公】OCR批量识别自动存为Excel(批量识别发票)
python·ocr·excel·财务
小钱c73 天前
Python使用 pandas操作Excel文件并新增列数据
python·excel·pandas
Shi_haoliu3 天前
Vue2 + Office Add-in关于用vue项目于加载项控制excel单元格内容(Demo版)
前端·javascript·vue.js·node.js·html·excel·office
njsgcs3 天前
json转excel python pd
python·json·excel·pd
RECRUITGUY3 天前
Excel中将毫秒时间戳转换为标准时间格式
excel
SunkingYang3 天前
详细介绍C++中捕获异常类型的方式有哪些,分别用于哪些情形,哪些异常捕获可用于通过OLE操作excel异常
c++·excel·mfc·异常捕获·comerror