A1のセルは常時今日の日付が入力されていて、A2とB2のセルは空欄です(日付を入力予定)。
この状態から、B2のセルの「条件付き書式」について教えてください。
A2に日付が入力されていないときはB2は空白セル、A2に日付が入力され、かつA1よりプラス30日以上であればB2の空白セルに赤枠が入り、B2のセルに何かしら数値が入力されればB2の赤枠は消える。  としたいのですがどう設定すればよいでしょうか?よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (7件)

#1です。


ちょっと質問者は嫌な人なのかもしれないな。

質問のとおり、
「A2に日付が入力されていないときはB2は空白セル、A2に日付が入力され、
かつA1よりプラス30日以上であればB2の空白セルに赤枠が入り、
B2のセルに何かしら数値が入力されればB2の赤枠は消える。」
ようにしたつもりだし、実際にそのように動作することは確認してある。

ただ、お礼に書いてあることと、始めの質問の内容が違っしまっているが。

<A2に手入力>
A1: 2011/4/25
A2: 2011/3/1
B2: 空白(赤枠)

これは何だ?
「A2に日付が入力され、かつA1よりプラス30日以上」
じゃないじゃないか。A1が2011/4/25ならA1よりプラス30日以上というなら、A2は2011/5/24より後の日付のはずだ。
2011/5/25、2011/5/26、・・・
2011/3/1というんじゃうまくいくはずないや。もうちょっとまじめにやろうよ。

ときに、条件付き書式の設定はちゃんとできるんだろうね。
    • good
    • 0

(1)"A2に日付が入力され"とあるので


 A2に日付が入力された場合にだけ対応するわけにもいかないので、
 A2の書式設定を日付1997/3/4にしておく。
(2)"B2のセルに何かしら数値が入力されれば"とあるので
 B2に自分で何かしら入力すると考える。
 数値の場合も文字の場合もあるかもしれないが、
 数値の場合にだけ対応する。
(3)"A2に日付が入力されていないときはB2は空白セル"とあるが、
 自分で何かしら入力すると考えるので、式は設定しない。
(4)Excel2000なので罫線の赤色は確認していない。

 =ISNUMBER(A2)*(A2>=(A1+30))*NOT(ISNUMBER(B2))
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
やってみましたが思っていたようには表示されませんでした。
具体的には、A1に =TODAY() を入力し、A2には質問日を手入力、B2には回答日を手入力する予定です。
質問日から30日以上経過した時点で、アラートとして回答日(B2セル)を赤枠で表示させ、回答があった時点で回答日をB2セルに入力し、赤枠が消えるようにしたいのですが。。。

たとえば
A1: 2011/4/25
A2: 空白
B2: 空白

<A2に手入力>
A1: 2011/4/25
A2: 2011/3/1
B2: 空白(赤枠)

<B2に手入力>
A1: 2011/4/25
A2: 2011/3/1
B2: 2011/4/25(赤枠なし)

お礼日時:2011/04/25 15:45

A2セルにデータが入力されていなければB2セルは空白にする。

というのは通常はB2セルに=IF(A2="",B2="")の式を入力する必要があります。ところがB2セルにデータを入力したときはこの式は消されてしまいます。条件付き書式で上記のことはできません。
このような場合にはマクロを使わざるを得ませんね。
シート見出しで該当のシート名を右クリックして「コードの表示」を選択します。
表示の右側の空白の窓には次のコードを入力します。

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A2") = "" Then
Range("B2") = ""
End If
If Range("A2").Value >= Range("A1").Value + 30 Then
Range("B2").Borders.ColorIndex = 3
Else
Range("B2").Borders.LineStyle = xlLineStyleNone
End If
If Range("B2") <> "" Then
Range("B2").Borders.LineStyle = xlLineStyleNone
End If
End Sub

これでお望みのことができるようになるでしょう。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
やってみましたが思っていたようには表示されませんでした。
具体的には、A1に =TODAY() を入力し、A2には質問日を手入力、B2には回答日を手入力する予定です。
質問日から30日以上経過した時点で、アラートとして回答日(B2セル)を赤枠で表示させ、回答があった時点で回答日をB2セルに入力し、赤枠が消えるようにしたいのですが。。。

たとえば
A1: 2011/4/25
A2: 空白
B2: 空白

<A2に手入力>
A1: 2011/4/25
A2: 2011/3/1
B2: 空白(赤枠)

<B2に手入力>
A1: 2011/4/25
A2: 2011/3/1
B2: 2011/4/25(赤枠なし)

お礼日時:2011/04/25 15:44

質問はセルの値と条件付書式とを行き来している。


また手入力項目と関数などの連動項目ともはっきりしない。
ーー
(1)A1は手入力で本日日付うお入れているか、または関数まのTODAY()ーこの点問題なし
(2)A2セルとB2セルについて
  A2の入力--空白ーー日付でないー日付(条件満たさない)--日付+30日以上(条件を満たす)
対応して
  B2の結果--空白ーー空白ーーーー空白ーーーーーーーーーー日付+赤枠
セルの値については
これらのように連合させるには、関数をB2に設定する必要がある。
しかし>B2のセルに何かしら数値が入力されれば、とB2に手入力するような表現がある。
どちらですか。
A2が日付でないーーーーーーーB2空白
A2が日付で条件満たさないーーB2空白
はB2に関数でも入れないと実現できないのではないか(VBAでやれば別だが、質問はVBAの話ではなかろう)
>B2のセルに何かしら数値が入力されればB2の赤枠は消える
も、どういう理由でこのようにするのか不思議?日付で条件に合わ無ければ「赤枠をつけない」などのようにするのが普通では。
===
単純にA2とB2のデータ(セルの値)は、相互に独立した手作業入力で、B2のセルの値について、日付+30日以上(条件を満たす)であれば条件付き書式で経線を囲むだけで良いのか。

、」

この回答への補足

返信ありがとうございます。
具体的には、A1に =TODAY() を入力し、A2には質問日を手入力、B2には回答日を手入力する予定です。
質問日から30日以上経過した時点で、アラートとして回答日(B2セル)を赤枠で表示させ、回答があった時点で回答日をB2セルに入力し、赤枠が消えるようにしたいのですが。。。

たとえば
A1: 2011/4/25
A2: 空白
B2: 空白

<A2に手入力>
A1: 2011/4/25
A2: 2011/3/1
B2: 空白(赤枠)

<B2に手入力>
A1: 2011/4/25
A2: 2011/3/1
B2: 2011/4/25(赤枠なし)

補足日時:2011/04/25 15:45
    • good
    • 0

A2のセルに文字列が入力されたときにはB2の赤枠は消し、B2のセルに文字列が入力されたときにはB2の赤枠は消さないことにして、以下の方法でいかがでしょう。



=AND(A1+30<=A2,NOT(ISNUMBER(B2)))
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
やってみましたが思っていたようには表示されませんでした。
具体的には、A1に =TODAY() を入力し、A2には質問日を手入力、B2には回答日を手入力する予定です。
質問日から30日以上経過した時点で、アラートとして回答日(B2セル)を赤枠で表示させ、回答があった時点で回答日をB2セルに入力し、赤枠が消えるようにしたいのですが。。。

たとえば
A1: 2011/4/25
A2: 空白
B2: 空白

<A2に手入力>
A1: 2011/4/25
A2: 2011/3/1
B2: 空白(赤枠)

<B2に手入力>
A1: 2011/4/25
A2: 2011/3/1
B2: 2011/4/25(赤枠なし)

お礼日時:2011/04/25 15:43

条件付書式の設定において、



条件1.
セルの値が 、 次の値に等しくない 、 =""

で、書式の設定を枠なしに設定し、

条件2.
数式が 、 =$A&2>=$A$1+30

で、書式の設定に赤枠に設定してみては如何でしょうか。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
やってみましたが思っていたようには表示されませんでした。
具体的には、A1に =TODAY() を入力し、A2には質問日を手入力、B2には回答日を手入力する予定です。
質問日から30日以上経過した時点で、アラートとして回答日(B2セル)を赤枠で表示させ、回答があった時点で回答日をB2セルに入力し、赤枠が消えるようにしたいのですが。。。

たとえば
A1: 2011/4/25
A2: 空白
B2: 空白

<A2に手入力>
A1: 2011/4/25
A2: 2011/3/1
B2: 空白(赤枠)

<B2に手入力>
A1: 2011/4/25
A2: 2011/3/1
B2: 2011/4/25(赤枠なし)

お礼日時:2011/04/25 15:43

質問の条件のままなら、


B2の条件付き書式の式は、

=AND($A$2>=$A$1+30,$B$2="")

でいいんだろうか、これを回答すると、追加でこうしたいけどどうしたらいいかなんて聞かれそうだな。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
やってみましたが思っていたようには表示されませんでした。
具体的には、A1に =TODAY() を入力し、A2には質問日を手入力、B2には回答日を手入力する予定です。
質問日から30日以上経過した時点で、アラートとして回答日(B2セル)を赤枠で表示させ、回答があった時点で回答日をB2セルに入力し、赤枠が消えるようにしたいのですが。。。

たとえば
A1: 2011/4/25
A2: 空白
B2: 空白

<A2に手入力>
A1: 2011/4/25
A2: 2011/3/1
B2: 空白(赤枠)

<B2に手入力>
A1: 2011/4/25
A2: 2011/3/1
B2: 2011/4/25(赤枠なし)

お礼日時:2011/04/25 15:42

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


人気Q&Aランキング