我有6个工作表,每个工作表都包含工人的名字。第一张纸只是从其他五张纸上挑选数据,每张纸代表一周工作日。其他五张纸包含A列中的工人姓名,他们在B栏和C栏的工作时间是否不在。我想要一种方法来收集第一张纸上的信息,这样就会有一个列来计算一个工人缺席的天数。
当工人缺席时,标记为“缺席”#34;否则它会留空。
我可以使用VLOOKUP吗?
答案 0 :(得分:0)
您应该能够使用" = COUNTIFS(criteria_range1,criteria1,criteria_range2,criteria2等)" 声明可能类似于:" = COUNTIFS(WorkerNameRange,WorkerName,AbsentColumn,AbsentIndicator)" 要么 " = COUNTIFS(ColumnA,WorkerName,ColumnC,AbsentIndicator)"
答案 1 :(得分:0)
好的,你没有提供很多信息,所以这是我最好的答案,基于一些组成的样本数据。
我们将使用3
名工作人员,George
,Bob
和Steve
。乔治每天工作8
小时,鲍勃6
小时/天,史蒂夫4
小时/天。所以这就是我假设Monday
表看起来像
<强>周一强>
Bob
和Steve
都错过了工作(粗略的周末),因此我们不会在Total
表上计算他们的工作时间。我们也会将此视为1
,两者都不存在。
Worker Hours Absent
George 8
Bob 6 absent
Steve 4 absent
<强>星期二强>
Tuesday
与Monday
类似,但只有Steve
不存在。
Worker Hours Absent
George 8
Bob 6
Steve 4 absent
总表
我们假设在本周余下的时间内没有人缺席。所以George
应该在40
小时内没有0天。 Bob
错过了一天,所以他只有4*6=24
小时。 Steve
错过了两天,所以他的工作时间为3*4=12
。 Bob将1
缺席,Steve
将2
。
Worker Hours Days Absent
George 40 0
Bob 24 1
Steve 12 2
为了总结它们存在的时间,我们可以在Hours
表格的Total
列中使用以下公式。
=SUMIFS(Monday!$B$2:$B$4,Monday!$A$2:$A$4,Total!A2,Monday!$C$2:$C$4,"")+SUMIFS(Tuesday!$B$2:$B$4,Tuesday!$A$2:$A$4,Total!A2,Tuesday!$C$2:$C$4,"")+SUMIFS(Wednesday!$B$2:$B$4,Wednesday!$A$2:$A$4,Total!A2,Wednesday!$C$2:$C$4,"")+SUMIFS(Thursday!$B$2:$B$4,Thursday!$A$2:$A$4,Total!A2,Thursday!$C$2:$C$4,"")+SUMIFS(Friday!$B$2:$B$4,Friday!$A$2:$A$4,Total!A2,Friday!$C$2:$C$4,"")
这样做是使用一系列SUMIFS()
函数来检查每天是否匹配以及是否缺席。如果他们没有缺席,则会增加他们的总时数。如果他们缺席,它什么都不做。所以我们得到正确的小时总数。我们可以计算缺席数,然后根据缺少的天数进行数学计算,但我不知道你是否有人可能在不同的时间工作不同的日子(例如4
小时Monday
,{ {1}}小时6
等。)
要计算小时数,我们将使用简单的COUNTA()
函数。
Tuesday
这将计算非空白的工作=COUNTA(Monday!C2,Tuesday!C2,Wednesday!C2,Thursday!C2,Friday!C2)
列中的所有单元格。只要空白表示“不存在”,就可以灵活地使用任何标记作为缺席。
使用Table
formatting还可以通过其他方式使这个电子表格更加强大,但我会让您完成研究。