Excel函数学习应用于工作中
【目标】在表2中提取表1中“是否进入复试”中标记为”是”的人的信息
====表1:====
====表2:====
【知识学习】
【INDEX+SMALL+IF+ROW】组合函数:
①难度:★★★☆☆
②作用:实现查找时返回多个符合条件的结果。
③结果放在行的写法:
INDEX(结果列,SMALL(IF(条件,ROW(条件列),4^8),COLUMN(A1)))&
④结果放在列的写法:
INDEX(结果列,SMALL(IF(条件,ROW(条件列),4^8),ROW(A1)))&
⑤结束键:数组公式须同时按CTRL+SHIFT+ENTER三键结束。
【测试代码】
“学科”在表1中是在B列
B8=INDEX('面试(初试)评分表'!$B:$B,SMALL(IF('面试(初试)评分表 '!$J$1:$J$99="是",ROW($1:$99),4^8),ROW(A1)))
“姓名”在表1中是在C列
C8=INDEX('面试(初试)评分表'!$C:$C,SMALL(IF('面试(初试)评分表 '!$J$1:$J$99="是",ROW($1:$99),4^8),ROW(A1)))
“姓名”在表1中是在H列
D8=INDEX('面试(初试)评分表'!$H:$H,SMALL(IF('面试(初试)评分表 '!$J$1:$J$99="是",ROW($1:$99),4^8),ROW(A1)))
全部都是 CTRL+SHIFT+ENTER三键结束、下拉,就可以啦
【代码解析】
IF(J列” 是否进入复试”若是“是”,返回那一行的行号,若“”则返回一个很大的数65536)
SMALL(IF()得到的行号数组从小到大排列,第几小的行号)
INDEX(B列学科列,SMALL()得到的行号)取第几个数据就可以啦
====【测试成功】====
END