[[20120805171702]] 『条件付き書式のアイコンセットの設定』(初心者) ページの最後に飛ぶ

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

 

『条件付き書式のアイコンセットの設定』(初心者)

お世話になります。
セルに条件付き書式のアイコンセットを設定したいのですが、
上手くいきませんので、どなたかご教授をお願いします。

やりたいことは、アイコンセットのうち、4つの信号を設定することです。
色は、黒、赤、黄色、緑です。

対象のエクセルシートは、F列に納期があります。(アイテムは、1000点程)

J列には、発注残数量があります。

そこで、M列からは、各列に日付が入っています。(例:M列は、8月1日、N列は、8月2日・・・)

そこで、
たとえば、8月1日の列の任意の行のセルに下記のようなアイコンセットの設定がしたいです。

緑:F列の納期日に対して、本日が納期前4日以上で、克J列の発注残に残数がある場合
黄:F列の納期日に対して、本日が「納期前3日以内から納期日当日まで」で、克J列の発注残に残数がある場合
赤:F列の納期日に対して、本日が「納期日を過ぎているが、経過後3日以内」で、克J列の発注残に残数がある場合

黒:F列の納期日に対して、本日が「納期日を過ぎており、経過後4日以上」で、克J列の発注残に残数がある場合

自分なりに考え、其々下記のような設定をしてみましたが、
上手くいきません。(アイコンが出てきません)

緑:=And($F$11-today()>=4,$J$11<>0)
黄:=And($F$11-today()<=3,$J$11<>0)
赤:=And($F$11-today()>=-3,$J$11<>0)

等号、不等号で頭が混乱しています。

どなかた、ご確認いただければ、幸いです。

よろしくお願いいたします。

windows7
excel2007


 黄 =AND($F$11-TODAY()<=3,$F$11-TODAY()>=0,$J$11<>0)

 ????

 (GobGob)

 「条件付き書式のアイコンセットの設定」とは、条件付書式でたとえばセルの色を変える、
 ということでしょうか。
 その場合、提示された式には、いくつかの問題があります。

 1.条件式をM列、N列・・に適応させるためには $F$11,$J$11 ではなく、$F11,$J11 としなければいけません。
 2.条件判断を緑から順に行うとして、二番目の黄色の条件判断は緑に該当しない場合だけ判断すればいいです。
  具体的には、最初に4日以上で判断しているので、二番目の判断ではすでに3日以内に決まっていますから、
  ここでは「当日まで」の判断だけをすればいいことになります。
 三番目の条件判断も同様です。
 3.緑の、「本日が納期前4日以上」の判断式は、$F$11-today()>=4 ではなく、Today()-$F11>=4 とすべきです。
  二番目以下の式も同様に。

 以上を踏まえて条件式を組み立てると、

 条件1(緑) =AND(TODAY()-$F11>=4,$J11<>0)
 条件2(黄) =AND(TODAY()-$F11>=0,$J11<>0)
 条件3(赤) =AND(TODAY()-$F11>=-3,$J11<>0)
 とすればご希望どおりになるでしょうか。

 なお、Excel2007では後から設定した条件が優先されるので条件3から順に設定するか、
 あるいは条件1から設定した場合は、優先順位を変更する手続きが必要になるようです。
 2003までのように、最初に設定した条件を優先にするほうがわかりやすいような気がするのは私だけでしょうか。
 (tora)


tora様

 ご教授ありがとうございます。
 下記の通りやってみましたが、
 「カラースケール、データバー、アイコンセットの条件 条件付き書式では、相対参照は、
 利用できません」となってしまいました。
 出来れば、アイコンセットを使いたいのですが、相対参照を使わない方法はないでしょうか?

(初心者)


お世話になります。
相対参照を使えないが、アイコンセットを使うため、
アイコンセットを下記のように設定し、if関数を設定できないでしょうか?
緑:4以上、
黄色:3以上
赤:2以上
黒:1以上

セルに”1”, "2”,”3”,”4”の数値を入れるようにIF関数を設定します。

http://www.officepro.jp/excelfunc/if/index1.html
このページでそれらしいことが出来そうなことまでは、調べられましたが、
実際にどうやれば良いのかが分かりません。

(初心者)


色々試してみましたが、なかなかうまくいきません

まず、初めのステップとして下記をやってみました。
=IF(AND($I$3-$F11>=4,$J11<>0),4,1)
I3のセルに上記の式を入れて試してみましたが、
J11のセルには反応しますが、F11の納期をいくらいじっても何も反応しません。
どなたかご教授いただければ幸いです。

(初心者)


 いまいち
  何がどうなっているのをどの様にしたいのか
 良く分からないのですが・・・?

 F11に納期。J11に発注残数量。
 で、アイコンを表示したいのはどのセルで
 そこには今何か入力されているのですか?

 それから、そのニックネームはもう少し
 貴方が見える名前に出来ませんか?
  個人的に、「初心者」と言う名前は無記名に近いものと思っています。

 (HANA)

HANA様

コメントありがとうございます。
次回からネームを変更するようにします。

今回の相談は、下記の通りです。
説明が分かりにくく、申し訳ありませんが、
宜しくお願いします。

今回、相談させていただく内容は、資材の発注管理用の簡易システム作成のためです。
各行には、それぞれ発注する製品があります。
F列には、発注納期が、J列には、発注残数がデータとしておさめられています。

発注残数は、G列の発注数からH列の納入数を控除した数値です。

M列から順に日付を取って行きます。
M列は、8月1日、N列は、8月2日という具合です。
発注する製品の第一番目は、11行目からになりますので、
F11のセルとJ11のセルを例として、ご相談します。

F11の納期より4日以上前ならば、セルに数字の4を、F11の納期よりも3日以内前から納期日までばら数字の3を
納期を過ぎてから経過後3日以内なら数字の2を、4日以上を経過していたら数字の1を夫々M11以降のセルに入るようにしたいのです。(M11(8月1日)、N11(8月2日)、O11,(8月3日)....

セルに上記の数字が入るようになれば、excel2007から使えるようになったアイコンセットというアイテムで、
色で納期管理が見えやすくなるような管理ができそうなためです。

まずは、上記のセルに数字を入れる方法に付いて、自分なりにネットで調べた結果、上記のようなやり方で
できそうなことは分かりましたが、日付のところに全く反応しないことが分かりました。

http://www.officepro.jp/excelfunc/if/index1.html

反応しない理由が全く分かりませんので、ご教授いただきたく、
宜しくお願いします。

辰年生まれなので「龍」とします。


 M11以降のセルには、何も入っておらず
 これから 1〜4の値を(数式で)入れて
 表示形式の「アイコンセット」が使える様にすれば良いのですね?

 で、疑問なのですが 日数の比較は【今日の日付】なんですよね?

 と言う事は、たとえば F11とJ11の結果が「4」のパターンだったら
 M列以降は全て「4」が返る様な数式(M列以降は全て同じマークが表示される)
 が出来れば良い のでしょうか?

 >辰年生まれなので「龍」とします。 
 ありがとうございます。

 (HANA)

 >表示形式の「アイコンセット」が使える様にすれば良いのですね?
 間違えました。。。条件付書式の「アイコンセット」でした。。。済みません。

 どうやら↑のイメージでよさそうなので、
 J列が0より大きいと言う前提条件の下、F列の日付から求める結果を考えてみます。
 	[F]	[G]	[H]
[10]			↓=TODAY()-F11
[11]	8月1日	4	7
[12]	8月2日	4	6
[13]	8月3日	4	5
[14]	8月4日	4	4
[15]	8月5日	3	3
[16]	8月6日	3	2
[17]	8月7日	3	1
[18]	8月8日	3	0  ★本日
[19]	8月9日	2	-1
[20]	8月10日	2	-2
[21]	8月11日	2	-3
[22]	8月12日	1	-4
[23]	8月13日	1	-5
[24]	8月14日	1	-6
		↑求める結果	
 今日が 8月8日の想定です。

 H列は、単純に今日の日付との差を出して居ます。
 G列に書いている値が、龍さんの期待する結果と一致しますか?

 でしたら、TODAY()-F11(H列)の結果が
            4以上の時・・・4
   (4未満で) 0以上の時・・・3
   (0未満で)-3以上の時・・・2
          それ以外の時・・・1
 になれば良さそうです。
 =IF(H11>=4,4,IF(H11>=0,3,IF(H11>=-3,2,1)))

 さらに条件として、J列が0で無い時に結果を出したいので
 =IF(J11=0,"",IF(H11>=4,4,IF(H11>=0,3,IF(H11>=-3,2,1))))

 H列を設けたく無い場合は、数式内の3カ所を「TODAY()-F11」に変更してください。

 IF関数は IF(論理式,真の場合,偽の場合) と書いていきます。
 H11が4以上か確認し、4以上だった(真の)場合、「4」を返し
   4以上でない(4未満)の場合、偽の場合の所に書いてある
     「IF(H11>=0,3,IF(H11>=-3,2,1))」のIF関数が実行されます。
 2番目のIF関数も同じ様に
 H11が0以上か確認し、0以上だった(真の)場合、「3」を返し
   0以上でない(0未満)の場合、偽の場合の所に書いてある
     「IF(H11>=-3,2,1)」のIF関数が実行されます。

 もしもIF関数の順番を中途半端に逆にした場合、希望する結果が得られませんので
 注意してください。

 同じ様な式ですが、例えば
 =IF(H11>=-3,2,IF(H11>=0,3,IF(H11>=4,4,1)))
 こう言うのは、期待する結果を得られません。

 IF関数は基本的な関数なので、なぜ思った結果にならないか
 考えてみて貰えると良いと思います。

 また、戻り値の出てくる順番が 1,2,3,4 と成る様な数式も
 作ってみて貰えると良いと思います。
  今は、4,3,2,1 と評価していますが、1,2,3,4 の方が素直ですよね。。。
 =IF(H11>=4,4,IF(H11>=0,3,IF(H11>=-3,2,1)))
            ~           ~            ~ ~ ここの値の出てくる順番の事です。

 あ。。。あと、数式を列方向もコピーして使うなら
 列方向は絶対参照にしておいてください。
 =IF($J11=0,"",IF($H11>=4,4,IF($H11>=0,3,IF($H11>=-3,2,1))))
 こんな感じで。

 (HANA)

HANA様

丁寧に教えていただいて、ありがとうございます。
お陰様でやりたいことが完璧にできました。
頭が悪いので、IF関数は、こんがらがってましたのが、
教えていただいた式をゆっくり見て、色々と条件を試してみて、
上手くいくことを確かめられました。

本当にありがとうございました。

(龍)


コメント返信:

[ 一覧(最新更新順) ]


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