プロが教えるわが家の防犯対策術!

セルに入力された日付が、その月のどのあたりに位置するかを関数で出せないでしょうか。

当社では月の半分を休むと駐車場料金が免除されます。
産休の方は休業に入る月の日付によってその月の給与で駐車場料金が免除が決定されます。
4月であれば、15日までに産休に入れば駐車場料金が免除、16日以降だったら控除、という具合ですが
それを関数で出せないかなと考えてます。

どうぞよろしくお願いいたします。

A 回答 (3件)

if関数で調べてください!

    • good
    • 0
この回答へのお礼

(^-^)ハア...?

お礼日時:2016/01/14 21:20

セルA1に日付を入力します、セルB1に以下の関数を入力します。


=ROUNDUP(DAY(A1)/DAY(DATE(2016,MONTH(A1)+1,0))*100,1)&"%"

するとB1に、A1に入力した日付が、その月の何%の位置に属するかが表示されます。
50%を超えれば、月の半分を超えているという意味です。
「エクセルで日数の計算をしたいです」の回答画像2
    • good
    • 2
この回答へのお礼

できました、ありがとうございます。
日付は奥が深いですね・・・

お礼日時:2016/01/14 21:21

>4月であれば、15日までに産休に入れば駐車場料金が免除、16日以降だったら控除、という具合ですが~


10月16日に復帰した場合の計算はどうしようか。(今年は日曜日だけど)

単純に出勤日数をカウントしたほうが良いと思う。
月に20日出勤日があるなら10日以上休んだら免除。
そういうのはダメだろうか。
(休日のルールが分からないので関数式を示すことができない)

・・・
質問のケースであれば、その月の日数を求め、指定した日付がその月の日数の半ば以降かを判断すればよい。
「4月15日」とA1セルに入力されるのであれば、
まずは日数を求める。
=date(year(A1),month(A1+1),1)-date(year(A1),month(A1),1)
(来月の1日から今月の1日の日数を引く)
次に15日が4月の半分以上なら”免除”、半分未満なら”非免除”の表示をする。
=if((date(year(A1),month(A1+1),1)-date(year(A1),month(A1),1)) /2 <= day(A1) , "免除" ,"非免除" )
    • good
    • 0
この回答へのお礼

ありがとうございます。
時間があるときに試してみたいと思います。

お礼日時:2016/01/14 21:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!