[[20190719104035]] 『条件付き書式設定で2種類の色付け管理をしたい(』(関西エクセル初心者) ページの最後に飛ぶ

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

 

『条件付き書式設定で2種類の色付け管理をしたい(年齢での管理)』(関西エクセル初心者)

 初めましてよろしくお願いします。
 EXCELの条件付き書式を利用して、複数の条件で管理したいと思うのですが、思うようにできません。
 要約のような書式設定が可能でしょうか?教えてください。

 下記の表で、(1)(2)を行単位でそれぞれ色付けして、一目でわかるようにしたいのです。
 (1)満18歳になる10日前
 (2)満18歳以上は2ヶ月ごとに更新する為10日前

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
   A列 B列   C列     D列

 1行 管理番号 氏  名  生年月日     満年齢ヶ月
 2行 123456  ○○○○ 2001/7/31  17歳11ヶ月 ←(1)に該当するので赤 色
 3行 123457  △△△△ 2001/5/21  18歳1ヶ月  ←(2)に該当するので黄色
 4行 123458  □□□□ 2002/12/31  16歳6ヶ月
                    ↑(datedif式入ってます)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

以上、よろしくお願いいたします。
                          
                        

< 使用 Excel:unknown、使用 OS:WindowsXP >


まず一つのセルの条件付き書式を設定してから、ルールの管理で適用先を全体に広げたら行全体の色付けができると思います。

例:(1)の条件
A2セルを選択し、ルールの数式に

=(DATEDTF($C2,TODAY(),"d")=10)

を入力して塗りつぶし設定をします。
それからルールの管理で適用先を

=$A:$D

に変えます。
(ささみ) 2019/07/19(金) 13:32


ごめんなさい!例の数式だとただの十日前で満年齢十日前ではありません!
正しくは

=(DATEDIF(DATE(YEAR($C2),MONTH($C2),DAY($C2)+10),TODAY(),"y")=18)

です!

(ささみ) 2019/07/19(金) 13:41


 > (datedif式入ってます)

 具体的にどんな数式ですか?

 法律上の年齢計算は、初日を参入するため誕生日の前日で満となるのですが、
 それを考慮すべきなのか否か分からないので確認したい。

(半平太) 2019/07/19(金) 14:32


 ↑
 上の質問は止めます。

 下図の「?」になっているセル(E2:H6)を埋めていただく方が紛れがなくていいです。

  行 ____A____ ____B____ _____C_____ _____D_____ ____E____ ____F____ _______G_______ _______H_______
   1 管理番号  氏名      生年月日    満年齢ヶ月  赤開始日  赤消滅日  初回黄色開始日  初回黄色消滅日 
   2   123456  ○○○○  2001/7/31   17歳11ヶ月     ?        ?        ?              ?          
   3   123457  △△△△  2001/5/21   18歳1ヶ月      ?        ?        ?              ?          
   4   123458  □□□□  2002/12/31  16歳6ヶ月      ?        ?        ?              ?          
   5                     2001/6/30                  ?        ?        ?              ?          
   6                     2002/2/28                  ?        ?        ?              ?          

(半平太) 2019/07/19(金) 15:32


 ささみ様
 早々にありがとうございました。
 おしえていただいた式をコピーしましたが、どうにも上手くいきません。
 式を自分なりに加工したりしましたが、どんどん原型から離れて行きまして・・・
 ちょっと時間をおいてみてみます。

 半平太様
 ありがとうございます。 
 年齢表示は=DATEDIF($C2,TODAY(),"Y")&"歳"&DATEDIF($C2,TODAY(),"YM")&"ヶ月"
 と入力しています。
 E列からH列の情報は入力するほうがいいんですよね?(^^;
 表としてできるだけ簡単にしたいなと思っていまして・・・
 ちょっと作成してみます。

(関西エクセル初心者) 2019/07/19(金) 19:03


 > E列からH列の情報は入力するほうがいいんですよね?(^^;
 > 表としてできるだけ簡単にしたいなと思っていまして・・・

 いや、それを実際の表にする気はないです。

 「10日前」とか「満年齢」、「満2ケ月経過日」などの仕様を
  具体例によって明確に理解したいので、お聞きしているだけです。

(半平太) 2019/07/19(金) 19:19


 半平太様

 質問の意味を理解せず失礼しました(^^;
 表を埋めてみました。よろしくお願いします。

 ●2行目が、満18歳になる10日前から赤色で塗りつぶし表示
 ●3行目と5行目が、誕生日月から2ヶ月ごとに更新するので各10日前から黄色で塗りつぶし表示

 行 ____A____ ____B____ _____C_____ _____D_____ ____E____ ____F____ _______G______________H_______   
   1 管理番号  氏名      生年月日    満年齢ヶ月  赤開始日  赤消滅日  初回黄色開始日  初回黄色消滅日 
   2   123456  ○○○○  2001/7/31   17歳11ヶ月  2019/7/21  2019/7/31     −             −
   3   123457  △△△△  2001/5/21   18歳1ヶ月     −         −       2019/7/11      2019/7/21 
   4   123458  □□□□  2002/12/31  16歳6ヶ月     −         −           −             −          
   5   123459  ××××  2001/6/30   18歳0ヶ月     −         −       2019/8/21      2019/8/31        
   6   123460  ◇◇◇◇  2002/2/28   17歳4ヶ月     −         −           −             −     

以上、よろしくお願いします。

(関西エクセル初心者) 2019/07/19(金) 21:20


 生年月日から直接判断します。(つまり、D列の年齢は見に行っておりません)

 D2セルの赤の条件:
 =MATCH(TODAY(),EDATE($C2,216)-11+ROW(INDIRECT("A1:A10")),0)*ISNUMBER($C2)

 D2セルの黄の条件:
 =MATCH(TODAY(),EDATE($C2,MAX(218,CEILING(DATEDIF($C2,TODAY(),"m"),2)))-11+ROW(INDIRECT("A1:A10")),0)*ISNUMBER($C2)

(半平太) 2019/07/19(金) 22:34


 大変ご無沙汰いたしました。

 半平太様
 条件の式をありがとうございました。
 早速コピーしてみましたが、うまくいきません。
 +を変えてみたり、範囲を変えてみたりして悪戦苦闘しましたが、やはりうまくいきません。

 123460  ◇◇◇◇  2002/2/28   17歳4ヶ月
 にのみ赤の網掛けがかかるだけで
 その他の条件に合ってるはずの列(横方向)に網掛けがかかりません。
 あまりに無知すぎてそれぞれの関数の解説を見ても
 どこをいじったらいいかわかりません。
 もう少しお力を貸していただけませんでしょうか。
 よろしくお願いいたします。

(関西エクセル初心者) 2019/07/25(木) 20:56


 追記です。

 ○216の数字は12ヶ月×18歳で、生まれてからの月数だとわかるのですが、-11は日数でしょうか?
 ○最後の+ROW(INDIRECT("A1:A10")),0)*ISNUMBER($C2)の式の意味を教えてください
 よろしくお願いいたします。
(関西エクセル初心者) 2019/07/25(木) 21:10

 > +を変えてみたり、範囲を変えてみたりして悪戦苦闘しましたが、やはりうまくいきません。

 そう言うことはやらないでください。
 意味が有ってその条件式が出来上がっているので、ますます旨く行かなくなるだけです。

 >123460  ◇◇◇◇  2002/2/28   17歳4ヶ月
 > にのみ赤の網掛けがかかるだけで
 > その他の条件に合ってるはずの列(横方向)に網掛けがかかりません。

 本当にダメなのかこちらでも検証できるデータを提示してください。

 1.レイアウトとテストデータは、そちらで提示されたものと同じですね?(2019/07/19(金) 21:20)

 2.検証した日はいつですか?(その日が判定基準日なので、それが示されなければ検証できないです)

 3.その検証日にどこのセルが赤で、どこのセルが黄になると、Goodになるんですか?

(半平太) 2019/07/25(木) 21:31


 半平太様、大変失礼致しましたm(..)m

 1.はい、全く同じものです。
 2.3.返信頂いて(7/19)からほぼ毎日条件付き書式を設定しても
  同じ箇所にしか網掛けされません。

 確認したら使用しているのはWindows7とかなり古いバージョンです

(関西エクセル初心者) 2019/07/25(木) 23:38


 >確認したら使用しているのはWindows7とかなり古いバージョンです

 何も問題ないと思います。(こちらでは試す環境はないですが)

 > 2.3.返信頂いて(7/19)からほぼ毎日条件付き書式を設定しても

 「毎日」と言う意味がわからないのですが、条件付き書式の設定は一度設定すればそれで終了です。

 私が検証した限りは、以下となります。

  7/19なら△△△△がD列のセルが黄色になります。以後は無色。 
  7/21に ○○○○がD列のセルが赤色になり、7/30日まで赤が続きます、 
   その他の行は、色付きになることはなかったです。

 1.上述の挙動に問題がありますか?

 >その他の条件に合ってるはずの列(横方向)に網掛けがかかりません。
 「横方向」がちょっと理解できないです。

 横も必要なら、条件付き書式の適用先の範囲を広げるだけです。
  例: $A$2:$D$6

 どの列でも条件数式は同じなので、適用範囲の修正だけで行全体が着色されます。

 2.上述処置の結果を返信してください。

(半平太) 2019/07/26(金) 00:35


半平太様

出来ました!
なぜか下記のように「$C2」のところがエクセルの最終セル番号(1048574)になっていまして
それを「2」に変えて適用を押したら出来ました!!

<上手くいかなかった式>=MATCH(TODAY(),EDATE($C1048574,MAX(218,CEILING(DATEDIF($C1048574,TODAY(),"m"),2)))-11+ROW(INDIRECT("A1:A10")),0)*ISNUMBER($C1048574)

これで来月から確認、事前準備が楽になります。
本当にありがとうございましたm(..)m
(関西エクセル初心者) 2019/07/26(金) 16:02


追記

ささみ様、最初に返信いただきましてありがとうございました。
無事に条件付きの書式設定が設定できました。
(関西エクセル初心者) 2019/07/26(金) 16:07


コメント返信:

[ 一覧(最新更新順) ]


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