过滤或导入特定日期的数据

时间:2019-07-12 02:07:00

标签: excel excel-formula

我想知道是否有人可以通过COUNTIF函数导入数据,但仅适用于今天日期的数据?

我有2张纸,出勤和部门。

Department Tab 在“部门”选项卡中,我在A列中列出了员工的清单。在B列中,依此类推,我有一个下拉选项,用于选择他们每天驻扎的部门。每列代表一天,B是第一天,C是第二天,...,依此类推。每列的标题也有当天的日期。

Attendance Tab

在出勤表上,我在A列和B列中都有部门的列表,它用于记录该部门有多少名员工。在A1的这张表上,我还有一天的时间。

当我更改日期时,每个部门中驻扎的员工数量是否会根据日期而改变?

是否可以仅使用函数来做到这一点?

我尝试使用COUNTIF函数,但是我发现我每天都必须更改范围。

3 个答案:

答案 0 :(得分:1)

使用“出勤”选项卡B4中的功能

=COUNTIF(INDIRECT("Department!" &ADDRESS(3,MATCH($A$1,Department!$A$2:$P$2,0)) & ":" &ADDRESS(6,MATCH($A$1,Department!$A$2:$P$2,0))),$A4)

结果:“出勤”选项卡

enter image description here

部门标签:

enter image description here

我使用了所有参考,如屏幕截图中所示,如果表中的参考不同,则可以更改它们。

答案 1 :(得分:1)

您的问题可以通过SUMPRODUCT函数解决。请参见下面的解决方案图片:

SOLUTION

为了快速解释我的解决方案,我在“部门”表上给该日期起了一个名字,叫做“ Date_Lookup ”;然后在考勤表上给日期起了一个名字,叫做“ Date_List ”。名称将简化我的公式,尤其是在跨工作表进行引用时。

您最终会发现SUMPRODUCT可以解决很多COUNIF方案,这只是一个例子。与COUNTIFS相比,SUMPRODUCT可以做很多的IF。在您的情况下,有两个标准,一个是员工参加哪个部门,另一个是员工在哪个日期参加该特定部门。所以我的SUMPRODUCT公式可以理解为:

=SUMPRODUCT(('from the list of dates'='the particular date I want to see')*('from the full attendance record'='how many employees went to the given department'))

如果您有困难,请告诉我。仔细阅读一些有关SUMPRODUCT的在线文章将有1个小时的时间。

干杯:)

答案 2 :(得分:0)

您的第一步将是使用一个函数来计算输入日期显示在哪一栏中。因此,在部门表中,您需要在A1中输入日期,然后将B1设置为:

=IFERROR(MATCH(A1, Attendance!2:2, 0), 0)

我使用IFERROR,因为我不喜欢看到工作表上的错误。假设结果不为零,请使用COUNTIF在结果列的范围内查找部门字母。我只是简单地在OFFSET上使用以获得正确的范围,但是stickers会告诉您找到一种不同的方法。只要您的电子表格的大小不会增加到非常复杂的程度,那么OFFSET就可以了。