在之前发布了一个动态排班表的文章,根据日期和班组来查询班次,小编原来使用了一个很长很长的if+vlookup函数组合查找到的!
=IFERROR(IF($J$1="A班",VLOOKUP($J$1,A班,ROW(A2),),IF($J$1="B班",VLOOKUP($J$1,B班,ROW(A2),0),IF($J$1="C班",VLOOKUP($J$1,C班,ROW(A2),),VLOOKUP($J$1,D班,ROW(A2),)))),"")
注意:vlookup函数查找范围是使用了定义名称!否则公式更长啦。
没想到只要一个hlookup函数就可以解决
这个函数和vlookup函数的查找区别是横向查找,查找值都必须在查找区域的首行/首列
所以在F2中输入公式
=HLOOKUP(B2,四班三倒!$H$3:$AL$14,MATCH($J$1,四班三倒!$G$3:$G$14,0),0)
查找值:为B2中的日期 查找区域:四班三倒!$H$3:$AL$14 返回行数:MATCH($J$1,四班三倒!$G$3:$G$14,0) 通过match函数判断A班在G3:G14的位置 查找方式:0即代表精确查找,也可以省略,但是最后一个逗号不能省略!