我有一个显示的数据集;
现在我正在尝试使用工作表这样的报告,我可以从员工列表中选择某个员工姓名,以查看他/她在特定月份的工作时间。
我尝试了vlookup,但由于我需要通过两列加一行来查找,所以没有去哪里。
这可能吗?没有宏或vba。 感谢
答案 0 :(得分:0)
由于名称和日期是唯一标识符,因此可以使用sumifs函数。
对于'time in'和'Rachel',这将看起来如下:
=Sumifs(column ‘time in’ from data set, column ‘name’ from dataset, “Rachel”, column ‘date’ from data set, “10/01/2017”)
Rachel和日期也可以是引用的单元格。
答案 1 :(得分:0)
=AGGREGATE(15,6,ROW(SHEET1!$A$2:$E$22)/((SHEET2!$B$1=SHEET1!$B$2:$B$22)*(SHEET2!$A4=SHEET1!$C$2:$C$22)),1)
上述公式将获取符合您条件的行号。要提取所需信息,可以将行号放在INDEX公式中以获得以下内容:
=INDEX(SHEET1!$D:$E,AGGREGATE(15,6,ROW(SHEET1!$A$2:$E$22)/((SHEET2!$B$1=SHEET1!$B$2:$B$22)*(SHEET2!$A4=SHEET1!$C$2:$C$22)),1),COLUMN(A1))
您可以将上述内容放在第一个时间单元格中,然后向右和向下复制。如果标准不存在,您将看到错误。即没有该名称的人或该人的日期数据。为了避免这种情况,您可以将整个事物包装在IFERROR中,如下所示:
=IFERROR(INDEX(SHEET1!$D:$E,AGGREGATE(15,6,ROW(SHEET1!$A$2:$E$22)/((SHEET2!$B$1=SHEET1!$B$2:$B$22)*(SHEET2!$A4=SHEET1!$C$2:$C$22)),1),COLUMN(A1)),"Nothing found")
如果你想要一个空白而不是找不到任何东西,那就改变了#34;没有找到任何东西"到""如果要显示0,则为0。
注意:在这种情况下,Aggregate正在执行类似计算的数组。因此,您不希望完整列引用,因为它将导致执行大量不必要的计算。因为您有唯一的条目,所以在另一个答案中给出的SUMIFS选项是一个更好的选择。
答案 2 :(得分:0)
答案 3 :(得分:0)