1

現在、OpenOffice Calc を使用して休暇追跡シス​​テムを考え出そうとしているので、2 つのデータ シートがあります。

シート 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を参照する日付の下の2番目のシートで式を使用し、1その日に休暇中の場合に自動的に追加する方法です。シート 1 とシート 2 の日付を一致させるために使用するセルから値を取得すると、日付からシリアル番号が得られます。

VLOOKUP を使用して、シート 2 からシート 1 の日付の開始と終了の値を取得できました。

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

1次に、 aまたは aを追加する IF ステートメント"":

    =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の A1と 2 番目のシートの A1、2 番目のシートの B2 にあり、それに合わせてコピーされていると仮定します。!stName

=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 に答える