[[20190104155418]] 『5日以上経過したらアラートを出したい』(himaa) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『5日以上経過したらアラートを出したい』(himaa)

アラートの出し方について教えていただきたいです。
車両の運行記録をまとめており、
5日以上使用しなかった車両にアラートを出す方法はありますでしょうか?
表は下記のような作りになっております。

   A   B  C   D E
1  日付  出庫 入庫 距離
2 1月1日 0km 5km 5km
3 1月2日 5km 15km 10km
4
5
6

最後に入力された日付より5日以上入力がなかった場合
E列に"未使用"と表示し入力されたら消えるようにしたいです。
ご教授の程、宜しくお願い致します。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


'以下全てシートモジュールに記述
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ck
End Sub
Private Sub Worksheet_Activate()
    ck
End Sub
Private Sub ck()
    Dim r As Range
    Set r = Range("A" & Rows.Count).End(xlUp)
    If Date - r.Value >= 5 Then
        r.Offset(, 4).Value = "未使用"
    Else
        r.Offset(, 4).Value = ""
    End If
End Sub
(mm) 2019/01/04(金) 17:17

 LARGE関数 で、1番目と2番目の日付を探して、差が5日以上なら・・・。
 といった数式を組めば、条件付き書式にも使えると思います。
(BJ) 2019/01/04(金) 19:55

 =IF(LARGE($A$2:$A$11,1)=$A2,$A2-LARGE($A$2:$A$11,2)>=5)
(BJ) 2019/01/04(金) 23:53

ありがとうございます。
やってみます。
(himaa) 2019/01/05(土) 10:21

思い付きレベルですけど、
当日?のシリアル値を求めてから、A列の最大(シリアル)値を求め、両者の差が5以上であれば、思ったところに未使用って出ればいいのでは?

なので、E2セルに、↓でどうでしょう

 =IF(TODAY()-MAX(A2:A1001)>5,"未使用","")

E列の2行目ってのが固定じゃなくて当日分?の行に表示したいということであれば、E3に↓のあと適当な行までフィルコピー

 =IF(AND(A4="",A3<>"",TODAY()-A3>4),"未使用","")

いずれも、A列は日付型(整数のシリアル値)あるいはブランクセルであることが前提です。

(もこな2) 2019/01/06(日) 17:31


 こんばんは!
A列に最後に入力された日から5日後ということであれば、、、

 日付	出庫	入庫	距離	
1月1日	0km	5km	5km	=IF(A2=LOOKUP(99^99,A:A),IF(LOOKUP(99^99,A:A)+5>TODAY(),"未使用"),"")
1月2日	5km	15km	10km	未使用

 で、どうでしょう?
(SoulMan) 2019/01/06(日) 18:54

 すみません。でためでした。m(__)m
5日経過してなかったから間違っちゃったよ(^^;

 日付	出庫	入庫	距離	
12月30日	0km	5km	5km	=IF(A2=LOOKUP(99^99,A:A),IF(LOOKUP(99^99,A:A)+5<TODAY(),"未使用",""),"")
12月31日	5km	15km	10km	未使用
(SoulMan) 2019/01/06(日) 19:15

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.