【小记】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),"")
相关推荐
wb1892 小时前
shell脚本的条件测试
开发语言·python·excel
lczdyx19 小时前
高效Excel数据净化工具:一键清除不可见字符与格式残留
python·excel·pandas·数据清洗·数据处理
姜太小白19 小时前
【Office】Excel两列数据比较方法总结
excel
jie1889457586620 小时前
ubuntu中,文本编辑器nano和vim区别,vim的用法
ubuntu·vim·excel
前端sweetGirl1 天前
Excel 中的SUMIFS用法(基础版),重复项求和
excel
CodeCraft Studio1 天前
国产化Excel处理组件Spire.XLS教程:如何使用 C# 将 Excel(XLS 或 XLSX)文件转换为 PDF
pdf·c#·excel
霸王蟹2 天前
React 项目中封装 Excel 导入导出组件:技术分享与实践
前端·笔记·学习·react.js·typescript·excel·vite
nuclear20112 天前
使用C# 快速删除Excel表格中的重复行数据-详解
c#·excel·删除excel重复行·删除excel重复数据·excel重复行查找并删除
前端sweetGirl2 天前
Excel快捷键
excel
HarrisHaword2 天前
EasyExcel复杂Excel导出
java·excel