「一気に最後まで読んだ」本、教えて下さい!

関数についてどなたか教示お願いします。
 A       B       C       D     E    F    G
1 今日    送付     開始     受取    残数 状況  結果 
2 2010/7/9 2010/7/1 2010/7/12         3   注意
3        2010/7/2 2010/7/15 2010/7/9 6        済
4        2010/7/2  2010/7/11        2  要注意 
5        2010/7/3 2010/7/9         0   警告 
6        2010/7/3 20107/20  2010/7/9 11       済

上記表を作成したい。
(1)E列の残数が 3の時「注意」、2の時「要注意」、1以下の時「警告」、それ以外は非表示にしたいのですが、=IF(C2="","",IF(C2=3,"注意",IF(C2>2,"要注意","警告"))) ←どこを修正したらいいでしょうか。
(2)D列に受取日を入力したらG列に「済」を表示させたいのですが、条件付書式で設定するにはどのような設定をすればいいでしょうか。もしくは関数で作成できますか。またその「済」の行を塗りつぶしたい場合、どのような方法があるか教えてください。(マクロでも構いません)

A 回答 (7件)

>それ以外は非表示にしたいのですが


4以上の数値の場合、と解釈して

F2セル =INDEX({"警告","要注意","注意",""},MIN(E2,4))
G2セル =IF(D2="","","済")

A2:G6セルを選択して 条件付き書式
数式が =$G2="済"
「関数についてどなたか教示お願いします。」の回答画像5
    • good
    • 0
この回答へのお礼

感謝感激です。関数勉強になりました。ありがとうございました。

お礼日時:2010/07/10 14:11

#5です。

E列の「残数」だけど、借りるなどして負もあるのかな
D2セル
=INDEX({"警告","要注意","注意",""},MAX(1,MIN(E2,4)))
に修正。
こちらのほうが範囲が1~4なのでしっくりきますね。
    • good
    • 0

(1)「E列の残数が 3の時」って言ってるんだから数式の中でC列を


参照しているところはE列であるべきでしょう。それから、「空白
でなく3ではなく、2を超えるとき」には10なんかも含まれるので、
最初に非表示にしたい条件「空白か、3を超えるとき」をまとめて
しまいましょう。そうすると残るのは0、1、2、3なので、choose関
数かindex関数が判りやすいです。
=if((E2="")+(E2>3),"",choose(E2+1,"警告","警告","要注意","注意"))

(2)条件書式では書式しか変えられないので、数式を書きます。D列
に日付が書いてあれば無条件で「済」と表示してよいのなら、
=if(D2,"済","")
これだけ。文字列は入れない前提です。塗りつぶすのは条件書式
で、セルの値が「済」に等しかったら塗りつぶせばいいですね。
「関数についてどなたか教示お願いします。」の回答画像6
    • good
    • 0
この回答へのお礼

早速、試したところうまくいきました。ありがとうございました。

お礼日時:2010/07/10 13:55

No.2です!


たびたびごめんなさい。

投稿した後でもう一度質問文を読み返してみると・・・

>「済」の行を塗りつぶしたい

とありましたのでまたまた顔を出してしまいました。
「済」の行全体を塗りつぶしたい!ということですよね?

その場合の条件付書式の方法です。

A~G列全てを範囲指定 → 書式 → 条件付書式 → 「数式が」を選択
数式欄に

=$G1="済"

として、書式から好みの色を選択してみてください。
これでA~G列の行全体が塗りつぶされるはずです。

どうも何度も失礼しました。m(__)m
    • good
    • 0

Excelですよね。


1)E2セル=IF(E2<>"",IF(E2=3,"注意",IF(E2=2,"要注意",IF(E2<=1,"警告",""))),"")
以下の行は式はコピー&ペーストしてください。

E列を見なければいけないのに余所見てます。
「=3(3の場合)」と「>2(2を超える)」は一部条件が一致しますし、4以上も対象になってしまいます。

2)
G2セル=IF(D2<>"","済","")
以下の行はコピー&ペーストしてください。

まずは関数でG列に済を入力させます。
次に塗りつぶしをしたい範囲を指定し、「数式を指定して書式設定するセルを決定」を選択。
式は「=$G2="済"」とします。
2007,2010は上記で完了。
2003より前は下記ページを参照して同じ式を使ってください。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/jyo-s …

とりあえずExcelで作ってやってみた結果なのでどうになると思います。
    • good
    • 0
この回答へのお礼

知恵をかしていただきありがとうございました。勉強させていただきました。

お礼日時:2010/07/10 14:20

こんにちは!


IF関数の参照先がC列になっていますが、
E列の間違いではないでしょうか?

質問文と配列が違っていたらいけませんので、
↓の画像の場合の数式です。

E列にはマイナス数値は入らない前提です。

F2セルに
=IF(OR(E2>3,E2=""),"",IF(E2=3,"要注意",IF(E2=2,"注意","警告")))

G2セルに
=IF(D2="","","済")

という数式を入れ、F2・G2セルを範囲指定し、G2セルのフィルハンドルでオートフィルで下へずぃ~~~!っとコピーすると
画像のような感じになります。

そして、条件付書式の件ですが
当方使用のExcel2003の場合です。

G列全てを範囲指定 → メニューの書式 → 条件付書式 から
「セルの値が」 → 「次の値に等しい」を選択 → 済 と入力 → 書式から薄い「青」を選択しています。

以上、参考になれば良いのですが・・・m(__)m
「関数についてどなたか教示お願いします。」の回答画像2
    • good
    • 0
この回答へのお礼

作成することができました。教示いただきありがとうございました。

お礼日時:2010/07/10 14:00

=IF(C2="","",IF(C2=3,"注意",IF(C2=2,"要注意","警告")))

    • good
    • 0

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


おすすめ情報