【小记】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),"")
相关推荐
啊哈哈哈哈啊有13 小时前
导出树形结构,excel
java·windows·excel
Dxy123931021618 小时前
Elasticsearch 聚合入门:像 Excel 透视表一样分析数据
elasticsearch·excel
一位代码18 小时前
Excel | .xls 与 .xlsx 文件的区别及使用 Excel 打开 CSV 文件出现乱码的解决办法
excel
CodeCraft Studio19 小时前
Excel处理控件Aspose.Cells教程:使用C#在Excel中创建树状图
前端·c#·excel·aspose·c# excel库·excel树状图·excel sdk
悟能不能悟20 小时前
vue导出excel文件
前端·vue.js·excel
CodeCraft Studio20 小时前
国产化Excel开发组件Spire.XLS教程:以Python编程方式在Excel中高亮重复值
开发语言·python·excel·spire.xls·excel自动化·excel高亮重复值·python处理excel
喝汽水的猫^1 天前
Java实现Excel 导出(多 Sheet、复杂格式)
java·excel
小费的部落2 天前
Excel 在Sheet3中 匹配Sheet1的A列和Sheet2的A列并处理空内容
java·前端·excel
缺点内向2 天前
如何在 C# 中重命名 Excel 工作表并设置标签颜色
开发语言·c#·excel
wtsolutions2 天前
Sheet-to-Doc: Automate Document Generation with Excel Data and Word Templates
word·excel·wtsolutions