[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『時間外のデータを“Off “としたい』(とらきち)
こんにちは。
B列にデータ取得日として、2020/09/08 18:16 のように表記されるセルがあります。
C列に、祝祭日と平日の9:00〜17:30以外のデータは”Off それ以外は“On”となるように数式を書きたいのですが、どのようにしたら良いでしょうか?
祝祭日のリストは、「List」と名前を付けたシートのV2〜V62に入力しております。
よろしくお願い致します。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
■1
まず、休日かどうかを判定するには、その【日】がリストにあるか調べればokですよね。
=IF(COUNTIF(List!V2:V62,INT(B1)),"休日である","休日ではない")
要は、COUNTIFの結果が1ならリストにあるし、0ならリストにないということです。
■2
次に、時間外かどうかを判定するには、時刻部分に着目して、このような感じでよいとおもいます。
=IF(AND((B1-INT(B1))>="9:00"*1,(B1-INT(B1))<="17:30"*1),"時間内","時間外")
これをちょっと変形して↓のようにすれば、時間内なら0、時間外なら1になるように出来ます。
=IF(AND((B1-INT(B1))>="9:00"*1,(B1-INT(B1))<="17:30"*1),0,1)
■3
ここまでくれば、■1と■2の結果を足し算すれば、休日or時間外なら1以上、平日の時間内なら0となる数式がつくれますよね?
=COUNTIF(List!V2:V62,INT(B1))+IF(AND((B1-INT(B1))>="9:00"*1,(B1-INT(B1))<="17:30"*1),0,1)
■4
あとは、IF関数を使って1以上なら[off]、そうでなければ[on]と表示すればよいでしょう
=IF(COUNTIF(List!V2:V62,INT(B1))+IF(AND((B1-INT(B1))>="9:00"*1,(B1-INT(B1))<="17:30"*1),0,1),"off","on")
(もこな2 ) 2020/09/08(火) 19:48
=IF(WEEKDAY(B1,2)>=6,"土日です","平日です")
(もこな2 ) 2020/09/08(火) 19:55
早速にありがとうございます!
今は検証出来ないので、明日やってみます。
ありがとうございました。
(とらきち) 2020/09/08(火) 21:09
>祝祭日と平日の9:00〜17:30以外のデータは”Off それ以外は“On”
よくわかりませんけど ↓ で合ってますか?
9:00〜17:30 左記以外 祝日 On Off 平日 On Off 土日(祝日除く) On On
以上、確認だけ (笑) 2020/09/09(水) 09:19
土日、祝日 → off
平日 9:00〜17:30以外→ off
平日 9:00〜17:30 on
としたいです。
(とらきち) 2020/09/09(水) 10:30
日時データが B1セルだとして
C1 =IF(AND(WORKDAY(B1-1,1,List!$V$2:$V$62)=INT(B1),MOD(B1,1)>="9:00"*1,MOD(B1,1)<="17:30"*1),"On","Off")
以上 (笑) 2020/09/09(水) 11:53
無事、解決しました。
ありがとうございました!
(とらきち) 2020/09/09(水) 18:11
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.