日历中的员工缺勤(vlookup?)

时间:2018-09-19 19:12:35

标签: excel calendar

我正在努力解决一个与员工缺勤有关的案例,该案例在Excel中以视觉方式进行组织。

我设法通过SQL将数据提取到Excel中,并具有如下列表: enter image description here

我需要类似以下内容的概述,并且找不到可以解决这种情况的公式: enter image description here

第一张图片类似于一个巨大列表的摘录,主键是“ Employee”,这对于确定第二张图片(日历中的可视概览)在第二张图片中的正确位置是必要的。

我需要在哪个单元格中输入哪个公式(col [G]至col [XXX]),以便将正确的“ V”放置在正确的数据下。

到目前为止,我已经弄清楚Excel如何检查日期“ from”和“ to”,并相应地放置“ V”,但逐行而不是总计调整为一名员工(例如我希望在屏幕截图中显示它) )。

公式(它仅检查日期是否在中间):

=IF(AND(F$1<=$C2,F$1>=$B2),"V","")

您认为通过VBA解决此问题更容易吗?我想为此获得最佳性能,因为数据集很大,我认为这种情况下的公式会更快。

Vlookup不适合这种情况,因为它仅匹配找到的第一个条目,但可能类似?

感谢任何提示!

1 个答案:

答案 0 :(得分:1)

对于每个员工,当日期标题位于INDEXAGGREGATE之间时,使用DATE_fromDATE_to返回类型(V,S等)。如果找不到匹配项,请将其包装在IFEFROR中以返回空白字符串。

例如:

=IFERROR(INDEX($D$2:$D$10000,AGGREGATE(15,6,ROW($1:$9999)/(($A$2:$A$10000=$E3)*($B$2:$B10000<=F$1)*($C$2:$C$10000>=F$1)),1)),"")

enter image description here