一個學生報四門課,輸出每個學生課程
- 應用概述
- 操作
- 預處理數據
- 計數指令 COUNTIFS
- 進行一對多匹配 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),"")