天天查找上千条数据,从未看漏一行!只因给VLOOKUP添了这个强攻!

编按:哈喽,大家好!提醒面试者面试,是每位HR都会做的事情。但如果记录面试者信息的表格不够灵活、智能,那么每天光找出要通知面试的面试者,都是一个另人头痛的问题。今天,我们就来做一张能自动提醒面试的excel表格,一起来看看吧!

*********

人力资源部的同事希望能做张表格提醒部门的人员安排面试。对于每个应聘者,他们都会预先安排好三次面试的具体时间。如果没有正确的方法,想要准确的通知面试者并不容易。尤其是这类拥有5000名员工的国有企业,每到大学生毕业季,招聘规模还是不小的。

下表是一张“应聘者明细表”,看表中标注颜色的单元格区域,你能找出哪位应聘者即将在2019年10月31日的隔天,参加什么阶段的面试吗?显然是很困难的。

其实,表格是流程的体现,流程又因表格而完善,它们相互作用,将工作推向更高品质。如果我们从实际工作流程和需求出发,全面分析这张表格,就能得出一个核心结论——智能提醒。既然要求表格具有提醒功能,自然就会联想到两点:第一,方便查询;第二,智能标注。于是,实现方法也就清晰了,无外乎就是运用VLOOKUP和条件格式。

VLOOKUP进行精确匹配有一个条件,第一参数“查找啥”,必须唯一,所以,要在 “应聘者明细表”中加入唯一的应聘者编号用来识别每一位应聘者。

这张表格的字段很简单,由应聘者的基本资料和面试日期组成。我重点介绍VLOOKUP和条件格式的设置思路及方法。

使用VLOOKUP时,需要一份源数据和一个查询界面,它们通常被分为两个工作表。其中,源数据表有以下条件:一维表的结构,一个标题行,字段清晰,数据属性完整,数据连续,无合并单元格,无合计行,无分隔行,数据中无空白单元格。当整理出合格的源数据表后,下一步的方便查询和智能标注就不难学了。

我把记录了应聘者基本资料和面试日期的“应聘者明细表”作为源数据,再新建一个工作表,命名为“查询表”。然后在新的工作表中设置VLOOKUP函数,用于查询。在“查询表”的B2单元格中输入公式,并向右向下拖拽鼠标复制。

公式:=VLOOKUP($A2,应聘者明细表!$A$1:$L$21,COLUMN(B2),0)

完善公式:=IF(LEN($A2)=0,"",VLOOKUP($A2,应聘者明细表!$A$1:$L$21,COLUMN(B2),0))。(这一步的目的是为了使公式不再显示#N/A错误。)

公式设置完成后,在A列录入多个应聘编号,就能瞬间得到所有面试者的相关信息。

方便查询的问题解决了,接下来要解决智能标注的问题。

在设置条件格式之前,要先考虑需求。人力资源部的同事只需要提前一天通知应聘者,这就代表我们应该标注面试日期前一天的数据,即面试日期减去当天日期等于1的单元格。当天日期在Excel里用TODAY函数表示,=TODAY()返回的就是当天的计算机日期。理清了数学关系,又学会了表达式,下面开始设置。

选中“查询表”中的J2单元格,按ALT+O+D组合键调出“条件格式”;点击“新建规则”-选择条件为“使用公式确定要设置格式的单元格”,输入公式“=(J2-TODAY())=1”;设置满足条件的单元格底纹为紫色,点击“确定”。然后,用格式刷将J2单元格的条件格式复制到其他单元格,这样,一份有提醒功能的面试通知表就完成了。

拥有这份表格后,人力资源部的同事只需要做好一件事,就能快速、准确的知道今天应该通知哪些应聘者参加什么阶段的面试。这件事很简单:打开表格,找到填充色为紫色的单元格。

说到这里,可能有的小伙伴会有疑问了,“如果我想知道任意一天的面试信息,该怎么做呢?比如我想知道11月26日这天有哪些人参加面试”?其实对于这类指定日期的面试,我们可以使用VBA程序来完成,它可以使Excel更自动化,实现函数所无法达到的功能。我们使用Worksheet_SelectionChange编写过程,当选中某天所在的单元格后,它会自动把该天的所有单元格填充相同的底纹颜色。

在“面试提醒表”所在的工作表模块中输入程序:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Range("J2:L21").Interior.ColorIndex = xlNone  '清除单元格里原有底纹颜色

'当选中的单元格个数大于1时,重新给Target赋值

If Target.Count > 1 Then

Set Target = Target.Cells(1)

End If

'当选中的单元格不包含指定区域的单元格时,退出程序

If Application.Intersect(Target, Range("J2:L21")) Is Nothing Then

Exit Sub

End If

Dim rng As Range   '定义一个Range型变量

'遍历单元格

For Each rng In Range("J2:L21")

If rng.Value = Target.Value Then

rng.Interior.ColorIndex = 39

End If

Next

End Sub

输入完成后,返回工作表区域,想知道哪天面试哪些人员,就用鼠标选中那一天所在的任意一个单元格,面试哪些人就一目了然了!

今天的内容就到这里了,小伙伴们都学会了吗?

****部落窝教育-excel时间提醒设置****

原创:赋春风/部落窝教育(未经同意,请勿转载)

(0)

相关推荐