日付と時刻が勤務時間内であるかどうかの判断(Microsoft Excel)
ケンの日付と時刻はセルC3に保存されています。彼は、この日時が通常の勤務時間内(月曜日から金曜日の午前8時から午後5時)であるかどうかを判断する式が必要です。ケンは簡単に時間を確認できますが、就業日かどうかを確認する方法がわかりません。
この状況を解決するために思いつく可能性のある公式は多数あります。数式の重要な要素は、日付が月曜日から金曜日の範囲内にあるかどうかを判断し(ケンは、その方法を知っていると言います)、時刻が午前8時から午後5時の範囲内にあるかどうかを判断することです。これらの2つの事実を判別したら、AND関数を使用して、全体的な「真」または「偽」の状態を判別できます。
例として、次の式を使用して、日付が月曜日から金曜日の範囲にあるかどうかを判別できます。
=WEEKDAY(C3, 2) < 6
これはTrueまたはFalseを返し、WEEKDAY関数の2番目のパラメーターが2に設定されている場合、WEEKDAYが1から7の値を返すことを示しているため機能します。1=月曜日および7 =日曜日です。したがって、WEEKDAYは、月曜日から金曜日までの範囲で1、2、3、4、または5を返します。
数式の時間部分については、次のようにHOUR関数を使用できます。
=HOUR(C3) >= 8
これは、時間が午前8時以上であるかどうかに応じて、TrueまたはFalseを返します。同様に、次のようにして、時間が午後5時より前であるかどうかをテストできます。
=HOUR(C3) <= 17
これらの3つのテストを理解したら、AND関数を使用してそれらすべてを組み合わせることができます。
=AND(WEEKDAY(C3, 2) < 6, HOUR(C3) >= 8, HOUR(C3) <= 17)
HOUR関数は整数値(0から23)を返すため、次の方法で数式をさらに短くすることができます。
=AND(WEEKDAY(C3, 2) < 6, HOUR(C3) > 7, HOUR(C3) < 18)
3つの条件がすべて満たされると、AND関数はTrueを返します。
したがって、次のように、この式をIFステートメント内にラップできます。
=IF(AND(WEEKDAY(C3, 2) < 6, HOUR(C3) > 7, HOUR(C3) < 18), "Working", "Non-Working")
これは、休日を考慮に入れ始めたい場合、または平日が月曜日から金曜日と異なる場合を除いて、うまく機能します。その場合、数式の最初の部分を変更するだけで済みます。 WEEKDAY関数を使用する部分。代わりに、NETWORKDAYS関数またはNETWORKDAYS.INTL関数のいずれかに依存することをお勧めします。これらの関数の使用方法をここで説明するのではなく、「 linkCalculatingBusinessDays」というタイトルの_ExcelTip_を参照することをお勧めします。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(4270)は、Microsoft Excel 2007、2010、2013、および2016に適用されます。