[[20070124133403]] 『条件を満たさない時に赤く表示』(rami) ページの最後に飛ぶ

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

 

『条件を満たさない時に赤く表示』(rami)

 契約管理表をつくっております

  A         B          C
 1 契約金額  見積依頼日 見積提出期限
 2   480,000 2006/3/27  2006/3/27
 3 5,000,000 2006/4/1   2006/4/9

 上記の表に下記の条件を満たさない場合に赤く表示して目立たせたいのですが
 いい方法がありましたら教えてください。

 条件(見積期間)
 @契約金額が500万未満・・1日以上
 A契約金額が500万以上5000万未満・・10日以上
 B契約金額が5000万以上・・15日以上

 (C3を赤く表示して条件を満たしていないことを目立たせたい)

 >「1日以上」「10日以上」「15日以上」
 は、何のことですか?
 「見積依頼日から見積提出期限まで」「今日から提出期限まで」「見積書有効期限(見積期間?)」…

 (Ohagi)

「見積依頼日から見積提出期限まで」 のことです。
言葉足らずで申し訳ありませんでしたm(_ _;)m

(rami)


 条件付書式でどうでっか?
 =OR(AND(A2<5000000,DATEDIF(B2,C2,"d")<1),OR(AND(AND(A2>=5000000,A2<50000000),DATEDIF(B2,C2,"d")<10)),AND(A2>50000000,DATEDIF(B2,C2,"d")<15))
 で、パターンを赤にすればいけるとおもいまっせぇ、多分。
      (弥太郎)


 弥太郎さん、ありがとうございます。
 条件付書式の数式のところに上記数式を入力して設定を赤にしてみたところ
 条件が合っているC2の 2006/3/27 が赤で表示されてしまいました。。

 もし、他にもいい方法がありましたら教えてください。
  (rami)

 当日も1日として数えるのかな〜?
 
 これでは如何でしょう?
 =DATEDIF(B2,C2,"d")+1<CHOOSE(SUM(COUNTIF(A2,{">=0",">=5000000",">=50000000"})),1,10,15)
 ※あんまり深く検証していません・・・
 
 (キリキ)(〃⌒o⌒)b

 わっ!大ファンのせんせぇ!素敵〜!
 っちゅう事で、お分かりになりまへんことは、全てせんせぇがお答えしてくれます。
      生兵法は大けがの元・wあ(弥太郎)

 そ・そんな〜w
 
 σ(^o^;)も、ししょ〜のんでOKだと思ったんですけどね。
 (ししょうの素晴らしい関数は滅多にお目にかかれないんで、試しましたw)
 
 (キリキ)(〃⌒o⌒)b

 キリキさん、ありがとうございます。
 当日も1日として数えます。
 教えていただいた関数を入力してみましたが
 「条件 条件付き書式には、OR演算、AND演算,配列定数は使用できません」
 というエラーメッセージが出て設定できませんでした。

 私の設定の仕方に何か間違いがあるのかもしれませんね。。
 とりあえずは隣のセルに○×表示させるようになってしまいましたが、
 ずっと長く使っていくファイルになると思いますので
 また何かいい方法がありましたら宜しくお願いしますm(._.)m

 弥太郎さん、キリキさん、とても勉強になりました。
 ありがとうございますo(*^▽^*)o

 条件1
 「数式が」「=AND($A11<5000000,$C11-$B11+1<=0)」
 条件2
 「数式が」「=AND($A11<50000000,$A11>=5000000,$C11-$B11+1<10)」 
 条件3
 「数式が」「=AND($A11>=50000000,$C11-$B11+1<15)」

 又は

 =OR(AND($A11<5000000,$C11-$B11+1=0),AND($A11<50000000,$A11>=5000000,$C11-$B11+1<10),AND($A11>=50000000,$C11-$B11+1<15))

 では、いかがですか?

 (Ohagi)

 > また何かいい方法がありましたら宜しくお願いします
 これは使う方の判断にお任せしますが、マクロのチェンジイベントを利用した方
 法ですワ。
 C列に入力した時点でイベントが発生します。
 まぁ、なんでも試してみんことにはねぇ(笑
 \Sheet1/を右クリックして、コードの表示を選択
 そこの白い画面に下のコードを貼り付けます。
 それで準備OKですワ。
 戻ってC列に日付を入力してみておくんなはれ。勿論B列に日付が入力されとるものと
 仮定します。
         (弥太郎)
 '------------------------
 Private Sub Worksheet_Change(ByVal Target As Range)
    Dim flag As Boolean, limt_day As Integer

    If Target.Count > 1 Then Exit Sub
    If Target.Column <> 3 Then Exit Sub
    If Target = "" Then Target.Interior.ColorIndex = xlNone: Exit Sub
    Target.Interior.ColorIndex = xlNone
    limt_day = DateDiff("d", Target.Offset(, -1), Target)
    Select Case Target.Offset(, -2)
        Case Is < 5000000
            If limt_day < 0 Then flag = True
        Case 5000000 To 49999999
            If limt_day < 10 Then flag = True
        Case Is >= 50000000
            If limt_day < 15 Then flag = True
    End Select
    If flag Then Target.Interior.ColorIndex = 3
 End Sub


 Ohagiさん、弥太郎さん、ありがとうございます。

 Ohagiさんから教えていただいた条件付き書式(条件1〜3)の方法で試してみたところ
 希望通りに作動しましたヽ(^◇^*)/ 
 この方法で使っていきたいと思います。

 Ohagiさん、弥太郎さん、キリキさん、本当に有難うございました。
 とても助かりました。

コメント返信:

[ 一覧(最新更新順) ]


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