我有一个 Excel 日历,我们用它来记录休假日。我们的休假年份是 4 月到次年 3 月。我想添加第 13 张工作表,其中 A 列是员工姓名,B 列是他们的起始休假余额。我希望在 C 列中有一个公式,只要在前 12 张工作表中的任何地方添加员工姓名,该公式就会从 B 列中减去 8 小时的休假时间,并将结果放入 C 列中。为了让事情变得更困难一些,有时员工只会休一天中的部分时间。它将在日历上显示为“Johnson 2L”,这意味着 Johnson 休了 2 小时的晚假。在这种情况下,C 列应该只从 B 列中减去 2 小时。
答案1
在 Sheet13 上,将每行粘贴到 C2 到 O2 中,但请确保按Ctrl+ Shift+Enter而不是只按Enter。然后,您可以使用该公式向下填充。
=SUM(IF(IFERROR(FIND(A2,Sheet1!B$4:O$33),0),IFERROR(1*MID(Sheet1!B$4:O$33,LEN(A2)+2,LEN(Sheet1!B$4:O$33)-LEN(a2)-2),IF(Sheet1!B$4:O$33=A2,8,0)),0))
=SUM(IF(IFERROR(FIND(A2,Sheet2!B$4:O$33),0),IFERROR(1*MID(Sheet2!B$4:O$33,LEN(A2)+2,LEN(Sheet2!B$4:O$33)-LEN(a2)-2),IF(Sheet2!B$4:O$33=A2,8,0)),0))
=SUM(IF(IFERROR(FIND(A2,Sheet3!B$4:O$33),0),IFERROR(1*MID(Sheet3!B$4:O$33,LEN(A2)+2,LEN(Sheet3!B$4:O$33)-LEN(a2)-2),IF(Sheet3!B$4:O$33=A2,8,0)),0))
=SUM(IF(IFERROR(FIND(A2,Sheet4!B$4:O$33),0),IFERROR(1*MID(Sheet4!B$4:O$33,LEN(A2)+2,LEN(Sheet4!B$4:O$33)-LEN(a2)-2),IF(Sheet4!B$4:O$33=A2,8,0)),0))
=SUM(IF(IFERROR(FIND(A2,Sheet5!B$4:O$33),0),IFERROR(1*MID(Sheet5!B$4:O$33,LEN(A2)+2,LEN(Sheet5!B$4:O$33)-LEN(a2)-2),IF(Sheet5!B$4:O$33=A2,8,0)),0))
=SUM(IF(IFERROR(FIND(A2,Sheet6!B$4:O$33),0),IFERROR(1*MID(Sheet6!B$4:O$33,LEN(A2)+2,LEN(Sheet6!B$4:O$33)-LEN(a2)-2),IF(Sheet6!B$4:O$33=A2,8,0)),0))
=SUM(IF(IFERROR(FIND(A2,Sheet7!B$4:O$33),0),IFERROR(1*MID(Sheet7!B$4:O$33,LEN(A2)+2,LEN(Sheet7!B$4:O$33)-LEN(a2)-2),IF(Sheet7!B$4:O$33=A2,8,0)),0))
=SUM(IF(IFERROR(FIND(A2,Sheet8!B$4:O$33),0),IFERROR(1*MID(Sheet8!B$4:O$33,LEN(A2)+2,LEN(Sheet8!B$4:O$33)-LEN(a2)-2),IF(Sheet8!B$4:O$33=A2,8,0)),0))
=SUM(IF(IFERROR(FIND(A2,Sheet9!B$4:O$33),0),IFERROR(1*MID(Sheet9!B$4:O$33,LEN(A2)+2,LEN(Sheet9!B$4:O$33)-LEN(a2)-2),IF(Sheet9!B$4:O$33=A2,8,0)),0))
=SUM(IF(IFERROR(FIND(A2,Sheet10!B$4:O$33),0),IFERROR(1*MID(Sheet10!B$4:O$33,LEN(A2)+2,LEN(Sheet10!B$4:O$33)-LEN(a2)-2),IF(Sheet10!B$4:O$33=A2,8,0)),0))
=SUM(IF(IFERROR(FIND(A2,Sheet11!B$4:O$33),0),IFERROR(1*MID(Sheet11!B$4:O$33,LEN(A2)+2,LEN(Sheet11!B$4:O$33)-LEN(a2)-2),IF(Sheet11!B$4:O$33=A2,8,0)),0))
=SUM(IF(IFERROR(FIND(A2,Sheet12!B$4:O$33),0),IFERROR(1*MID(Sheet12!B$4:O$33,LEN(A2)+2,LEN(Sheet12!B$4:O$33)-LEN(a2)-2),IF(Sheet12!B$4:O$33=A2,8,0)),0))
=B2-SUM(C2:N2)
一些假设:
- 工作表 13 的第 1 行用于标题名称,如名称、起始、剩余。
- 您的前 12 张工作表称为 Sheet1 至 Sheet12。
- 所有工作表看起来都与您的扫描件大致相同,即,我们要搜索名称的区域是任何给定工作表上的 B4:O33。
- 人们的名字中没有拼写错误。
这将生成每月总计,然后生成 O 列中的总计。