次の開始日と終了日があるとします。
Mon 10am through Tues at 11:59pm
からの時間範囲になります。
この時間範囲が別のシートの別の時間範囲と重なるかどうかを知りたい。
以下は、比較対象の2つの日付範囲の例です。重複する期間と重複しない期間:
OVERLAP?
に関連付けられた行の関数は、SHEET1
に示された範囲と特定の時間範囲にオーバーラップがあるかどうかに応じて、TRUE
またはFALSE
のいずれかを返します。
開始/終了時間に基づいて日付範囲を構築し、その範囲を他の時間範囲と比較して重複があるかどうかを判断することは可能ですか?
TRUE
/FALSE
。まで出力をシートに保存しないでください。サンプルシート(カンマ区切り):
Start Day, Monday,
Start Time, 10:00 AM,
End Day, Tuesday,
End Time, 11:59 PM
Day of interest, Monday, Tuesday,
DOI start, 8:00 AM, 8:00 AM,
DOI end, 9:00 AM, 9:00 AM,
OVERLAP?, FALSE, TRUE
スプレッドシートは、イベント間の接続のような「高度な」ヒューマンロジックを理解しておらず、期間の重複を比較しています...したがって、Sheet1!B1
を対応する日付形式に変換する必要がありますSheet1!B2
から追加された時間を使用して同じ日に(現在、過去、または将来-参照は関係ありません)、次にSheet2!B1
Sheet2!B2
などを追加します。
簡単に言うと、式はこれを行います:
if
Monday 8:00 AM>
または=
からMonday 10:00 AMand
Monday 9:00 AM<
than Tuesday 11:59 PMステートメントはTRUE
です。それ以外の場合はFALSE
のようになります
=AND(IF(B1 =TEXT(DATE(2018; 1; 1); "dddd"); DATE(2018; 1; 1);
IF(B1 =TEXT(DATE(2018; 2; 1); "dddd"); DATE(2018; 2; 1);
IF(B1 =TEXT(DATE(2018; 3; 1); "dddd"); DATE(2018; 3; 1);
IF(B1 =TEXT(DATE(2018; 4; 1); "dddd"); DATE(2018; 4; 1);
IF(B1 =TEXT(DATE(2018; 5; 1); "dddd"); DATE(2018; 5; 1);
IF(B1 =TEXT(DATE(2018; 6; 1); "dddd"); DATE(2018; 6; 1);
IF(B1 =TEXT(DATE(2018; 7; 1); "dddd"); DATE(2018; 7; 1); )))))))&B2 >=
IF(Sheet1!$B$1=TEXT(DATE(2018; 1; 1); "dddd"); DATE(2018; 1; 1);
IF(Sheet1!$B$1=TEXT(DATE(2018; 2; 1); "dddd"); DATE(2018; 2; 1);
IF(Sheet1!$B$1=TEXT(DATE(2018; 3; 1); "dddd"); DATE(2018; 3; 1);
IF(Sheet1!$B$1=TEXT(DATE(2018; 4; 1); "dddd"); DATE(2018; 4; 1);
IF(Sheet1!$B$1=TEXT(DATE(2018; 5; 1); "dddd"); DATE(2018; 5; 1);
IF(Sheet1!$B$1=TEXT(DATE(2018; 6; 1); "dddd"); DATE(2018; 6; 1);
IF(Sheet1!$B$1=TEXT(DATE(2018; 7; 1); "dddd"); DATE(2018; 7; 1); )))))))&Sheet1!$B$2;
IF(B1 =TEXT(DATE(2018; 1; 1); "dddd"); DATE(2018; 1; 1);
IF(B1 =TEXT(DATE(2018; 2; 1); "dddd"); DATE(2018; 2; 1);
IF(B1 =TEXT(DATE(2018; 3; 1); "dddd"); DATE(2018; 3; 1);
IF(B1 =TEXT(DATE(2018; 4; 1); "dddd"); DATE(2018; 4; 1);
IF(B1 =TEXT(DATE(2018; 5; 1); "dddd"); DATE(2018; 5; 1);
IF(B1 =TEXT(DATE(2018; 6; 1); "dddd"); DATE(2018; 6; 1);
IF(B1 =TEXT(DATE(2018; 7; 1); "dddd"); DATE(2018; 7; 1); )))))))&B3 <
IF(Sheet1!$B$3=TEXT(DATE(2018; 1; 1); "dddd"); DATE(2018; 1; 1);
IF(Sheet1!$B$3=TEXT(DATE(2018; 2; 1); "dddd"); DATE(2018; 2; 1);
IF(Sheet1!$B$3=TEXT(DATE(2018; 3; 1); "dddd"); DATE(2018; 3; 1);
IF(Sheet1!$B$3=TEXT(DATE(2018; 4; 1); "dddd"); DATE(2018; 4; 1);
IF(Sheet1!$B$3=TEXT(DATE(2018; 5; 1); "dddd"); DATE(2018; 5; 1);
IF(Sheet1!$B$3=TEXT(DATE(2018; 6; 1); "dddd"); DATE(2018; 6; 1);
IF(Sheet1!$B$3=TEXT(DATE(2018; 7; 1); "dddd"); DATE(2018; 7; 1); )))))))&Sheet1!$B$4)
この式をSheet2!B4
に貼り付け、Sheet!C4
セルにドラッグします