- 締切済み
エクセルでセルに特定の数値を空白にしたい
タイトルと質問内容が少し違うかもしれませんが、適当な表現が分からなかったのでこのようにさせて頂きました。 上司にエクセルで管理表を作成してほしいと頼まれました。 使用しているエクセルは2003です。 A列に担当者名、B列に契約日、C列に完了日、D列に契約から完了までの日数を表示し、日数ごとにセルへ色を付ける事にしました。 ということで、A1列に名前、B1とC1に日付、D1に=C1-B1を入力しました。 さらにD1は条件付き書式を以下のように3つ指定しました。 =AND(D1>3,D1<11) →青:4~10日間 =AND(D1>10,D1<16) →黄: 11~15日間 =D2>15 →赤: 16日以上 (上司には4種類で分けて欲しいと言われましたが、設定上出来ないと断りました。) これをオートフィルで下へコピーし、ほぼ思うような表に出来たのですが、B列に日付が入力されていて、C列に日付が未入力の状態だと、D列にー40923というようなマイナスの数値が出てしまいました。 これを回避するために、マイナスの数値はセルに表示しないようにしようと思いました。 しかし、契約よりも先に完了していることもあるかもしれないので、マイナス方向の日数には30日の幅を持たせることにしました。 従ってD1には=IF(C1-B1<-30," ",C1-B1)を入力し再びオートフィルしました。 これは希望通りに反映されたのですが、今度は B列入力済でC列未入力のD列のセルが赤で表示されるようになりました。 これはどのようにして解決したら良いのでしょうか? なぜ赤で表示されるのですか? そもそも私おやり方で間違いはないのでしょうか? つたない説明で申し訳ありませんが教えてください。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- KURUMITO
- ベストアンサー率42% (1835/4283)
条件付き書式の設定を増やすこともできないし、すでに契約が済んでいるものに色を付ける必要もないわけですから、D列への入力の式を次の式にして下方にドラッグコピーすればよいでしょう。 =IF(OR(C1<B1,COUNT(B1:C1)<>2),"",C1-B1) この式はC1の時刻がB1の時刻よりも早い時刻であれば、また、B1セルやC1セルの両方に数値(時刻)が入力されていなければ空白のセルにしなさい。そうでなければC1からB1の時刻を引きなさいという意味になります。
- maiko0318
- ベストアンサー率21% (1483/6969)
=AND(B1<>"",C1<>"",D1>3,D1<11) でいいかな