首页 > 解决方案 > 日历中的员工缺勤(vlookup?)

问题描述

我正在努力解决与 Excel 中可视化的员工缺勤相关的案例。

我设法通过 SQL 将数据提取到 Excel 中,并有一个如下列表: 在此处输入图像描述

我需要如下概述,但找不到可以解决这种情况的公式: 在此处输入图像描述

第一张图片类似于一个巨大列表的摘录,主键是“员工”,这是确定第二张图片中正确位置所必需的,即日历中的视觉概览。

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

到目前为止,我弄清楚了 Excel 如何检查日期“从”和“到”并相应地放置“V”,但逐行而不是总共调整到一名员工(就像我想在屏幕截图中一样)。

公式(它只检查日期是否介于两者之间):

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

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

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

感谢您的任何提示!

标签: excelcalendar

解决方案


对于每个员工,当日期标题介于和之间时,使用INDEXand返回类型(V、S 等)。如果未找到匹配项,则将其包装起来以返回空白字符串。AGGREGATEDATE_fromDATE_toIFEFROR

例如:

=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)),"")

在此处输入图像描述


推荐阅读