1

目前我正在尝试使用 OpenOffice Calc 开发一个休假跟踪系统,所以我有两张数据:

表 1:

    s/n    name    date start    date end
    1      test    3 Jan 2012    3 Jan 2012  <- formatted to date format
    2      test    6 Jan 2012    8 Jan 2012

而在我添加公式后,表 2 应如下所示:

    name   3Jan  4Jan  5Jan  6Jan  7Jan  8Jan  <- formatted to date format
    test    1                 1     1     1

我的问题是如何在第二张表上的日期下使用一个公式,该公式将引用表 1,并1在该人当天休假时自动添加一个。如果我要从用于匹配表 1 和表 2 上的日期的单元格中获取值,日期会给我一个序列号。

使用 VLOOKUP 我能够从表 2 中获取表 1 中日期开始和结束的值:

    =VLOOKUP(A2;$A$2:$D$3;3;0)
    =VLOOKUP(A2;$A$2:$D$3;4;0)

然后是一个 IF 语句来添加 a1或 a ""

    =IF(VLOOKUP(A2;$A$2:$D$3;3;0)=MID(B1;1;6);"1";"")

但是,我在休假多天时遇到了这部分的问题(例如表 1 中的条目 2,休假范围为 1 月 6 日至 8 日)。

因此,如果日期大于或等于开始日期并且日期小于或等于结束日期,我尝试比较这些值,但失败了。这是我试过的公式:

    =IF(VLOOKUP(A2;$A$2:$D$3;3;0)>=MID(B1;1;6)<=VLOOKUP(A2;$A$2:$D$3;4;0);"1";"")

任何人都可以帮助我解决这个问题或有更好的想法吗?

4

1 回答 1

0

假设s/n在您的工作!stName的 A1 和第二张工作表的 A1 中,在第二张工作表的 B2 中并复制到适合:

=IF(COUNTIFS(first.$B1:$B99;$A2;first.$C1:$C99;"<="&B$1;first.$D1:$D99;">="&B$1)=0;"";COUNTIFS(first.$B1:$B99;$A2;first.$C1:$C99;"<="&B$1;first.$D1:$D99;">="&B$1))
于 2019-06-08T17:02:13.510 回答