条件付き書式でセルが塗りつぶされない問題について

このQ&Aのポイント
  • エクセル2003を使用している者ですが、条件付き書式でセルが塗りつぶされない問題に直面しています。具体的には、日付に基づいてセルの塗りつぶしを行いたいのですが、設定した条件にも関わらず、第三水曜日が塗りつぶされません。
  • 現在、セルH7~AL7には日付が入力されています。条件付き書式の設定では、第一条件としてMOD関数を使用してセルの左側に線を引くタイミングを設定し、第二条件としてDAY関数とWEEKDAY関数を使用して第三水曜日に塗りつぶすことを設定しています。
  • しかし、これらの条件付き書式を他のセルにも入力しても、第三水曜日が塗りつぶされません。問題を解決するための他の方法があれば、教えていただきたいです。
回答を見る
  • ベストアンサー

条件付き書式についての質問

お世話になります、エクセル2003を使用している者です。 今回、条件付き書式で、セルが塗りつぶされないと言う問題に直面しています。 セルH7~AL7には日付が入力されています。 そこで条件付き書式で、2つ条件を入力しています。 H7で言うと (1)MOD(H$7,4)=2で書式→フォント→罫線→セルの左側に線を引かせる様に設定し、日付の4日にごとにセルの左側に線を引くターンを設定。 (2)=AND(DAY(H$7)>=15,DAY(H$7)<=21,WEEKDAY(H$7)=4)=TRUEで書式→塗りつぶし→好きな色で塗りつぶす様に設定し第三水曜日を塗りつぶす様に設定。 しています。 これを他のI7~AL7まで条件付き書式を入力させています。 しかし、これでは第三水曜日が塗りつぶされません。(2013年11月で言うと11月20日)問題が解決できません。 何か他にいい方法が無いかご教授お願いします。

noname#247334
noname#247334

質問者が選んだベストアンサー

  • ベストアンサー
noname#204879
noname#204879
回答No.2

示された「2つ条件」の順序を入れ替えたらどうなりますか? つまり、「第三水曜日を塗りつぶす」を[条件1]に、「日付の4日にごとにセルの左側に線を引く」を[条件2]に設定するのです。 ちなみに、2013/11/20 は第3水曜ではあるけど、「セルの左側に線を引く」(けど塗りつぶし無し)の設定が適用されているはず。→「これでは第三水曜日が塗りつぶされません」

noname#247334
質問者

お礼

条件を入れ替えたらすんなりと作動しました。 この度はありがとうございました、非常に助かりました。

その他の回答 (6)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.9

 回答No.4、5です。 >条件1と2を入れ替える事で問題が解決しました。 との事ですが、本当に解決しておられるのでしょうか?  11月20日のセルを良く御覧になられて下さい。  今度は、現在の条件2(元の条件1)で設定した筈の、「4日毎に罫線を引く」という条件付き書式が反映されていないのではないでしょうか?  回答No.4で説明済みですが、ExcelのバージョンがExcel2003以前の場合は、条件1の書式と条件2の書式を同時に反映させる事は出来ません。  解決方法は、回答No.4の後半から回答No.5の最後にかけての所で既に述べさせて頂いた通りですので、回答No.4、5を再度、読み直される事を御勧め致します。

noname#247334
質問者

お礼

そうですね、確かに4日毎に罫線を引くが反映されていないですね。 これは失礼しました。 非常に詳しい、かつ親切な方に出会えた事に感謝しています。 非常に感謝しています。 この度はありがとうございました。

  • okMumin
  • ベストアンサー率0% (0/2)
回答No.8

No3です。「数式」ではなく、多分その逆で「値」です。こちらを先に試してください。すいません。 それと、Weekday式の有効性を単独で別のにセル入力し(IF式にして)確かめることです(もしANDに統合以前に済ませてなかったなら)。No4さんの仰るようなことについても大切と思います。

noname#247334
質問者

お礼

条件1と2を入れ替える事で作動する事が出来ました。 回答ありがとうございました。 非常に感謝しています。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.5

 回答No.4です。  もし、入力される日付はその月の1日から月末の日付のみであり、H7セルには必ず1日の日付が入力され、H7~AL7の日付は必ず連続した日付となっているという場合には、罫線を引くのは「4日ごと」という条件ではなく、「4列ごと」という条件にされた方が良いと思います。  それから、(2)の条件を指定する数式は、 =AND(DAY(H$7)>=15,DAY(H$7)<=21,WEEKDAY(H$7)=4) の部分だけでTRUEかFALSEのどちらかの判定値が返されるのですから、末尾の =TRUE は不要です。  前回の回答で触れました様に、何らかの理由があって、4列ごとに罫線を引く事を、どうしても普通の「セルの書式設定」によって行う事は出来ず、条件付き書式によって罫線を引くしかないという場合には、「4日毎に右の罫線を引く条件付き書式」と「第3水曜日を塗りつぶす条件付き書式」の他に、「4日毎の日付であると同時に、第3水曜日でもある日には、右の罫線を引くと共に塗りつぶしも行う条件付き書式」も設定するがあります。  以下は、その3つの条件付き書式の設定方法となります。  その設定方法は以下の通りです。 H7~AL7のセル範囲を纏めて範囲選択   ↓ [メニュー]バーの[書式]ボタンをクリック   ↓ 現れた選択肢の中にある[条件付き書式]をクリック   ↓ 現れた「条件付き書式の設定」ダイアログボックスの「条件1(1)」の囲いの中にある左端の欄をクリック   ↓ 現れた選択肢の中にある「数式が」をクリック   ↓ 「条件付き書式の設定」ダイアログボックスの「条件1(1)」の囲いの中にある左から2番目の欄に次の数式を入力 =AND(ISNUMBER(H$7),WEEKDAY(H$7)=4,ROUNDUP(DAY(H$7)/7,0)=3,MOD(COLUMNS($H:H),4)=0)   ↓ 「条件付き書式の設定」ダイアログボックスの「条件1(1)」の囲いの中にある[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[罫線]タブをクリック   ↓ 現れた[クリア]ボタンをクリック   ↓ [罫線]欄の中にある右辺をクリック   ↓ 「セルの書式設定」ダイアログボックスの[パターン]タブをクリック   ↓ 現れた[色]欄をクリック   ↓ 現れた色のサンプルの中から適当な色の四角形を選択してクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「条件付き書式の設定」ダイアログボックスの[追加]ボタンをクリック   ↓ 「条件付き書式の設定」ダイアログボックスの「条件2(2)」の囲いの中にある左端の欄をクリック   ↓ 現れた選択肢の中にある「数式が」をクリック   ↓ 「条件付き書式の設定」ダイアログボックスの「条件2(2)」の囲いの中にある左から2番目の欄に次の数式を入力 =AND(ISNUMBER(H$7),WEEKDAY(H$7)=4,ROUNDUP(DAY(H$7)/7,0)=3)   ↓ 「条件付き書式の設定」ダイアログボックスの「条件2(2)」の囲いの中にある[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[パターン]タブをクリック   ↓ 現れた[色]欄をクリック   ↓ 現れた色のサンプルの中から適当な色の四角形を選択してクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「条件付き書式の設定」ダイアログボックスの[追加]ボタンをクリック   ↓ 「条件付き書式の設定」ダイアログボックスの「条件3(3)」の囲いの中にある左端の欄をクリック   ↓ 現れた選択肢の中にある「数式が」をクリック   ↓ 「条件付き書式の設定」ダイアログボックスの「条件3(3)」の囲いの中にある左から2番目の欄に次の数式を入力 =MOD(COLUMNS($H:H),4)=0   ↓ 「条件付き書式の設定」ダイアログボックスの「条件3(3)」の囲いの中にある[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[罫線]タブをクリック   ↓ 現れた[クリア]ボタンをクリック   ↓ [罫線]欄の中にある右辺をクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック

noname#247334
質問者

お礼

エクセルについて非常に詳しいお方なのですね、私の為にこんなに親切に詳しい回答ありがとうございました。 非常に感動しました。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

 最初に確認したいのですが、H7セル~AL7セルに入力されている値は、本当の日付データなのでしょうか?  Excelが日付データとして扱う事の出来るシリアル値ではなく、単なる数値の1~31が入力されているのではないでしょうか?  Excelでは日付や時刻を扱う際には、シリアル値という「1899年12月31日24:00:00から経過した日数」のデータとして扱います。  そのため、単なる数値の1は1900年1月1日として扱われますし、単なる数値の20は1900年1月20日として扱われます。  1900年1月20日は第3金曜日であって第3水曜日ではないのですから、第3水曜日を塗りつぶすための条件付き書式によって塗りつぶされる事はありません。  1900年1月の第3水曜日は20日ではなく18日なのですから、18と入力されているセルが塗りつぶされる事になります。  ですから、もしも、H7セル~AL7セルに入力されている値が単なる数値の1~31であった場合には、なるべくならExcelが日付として扱う事の出来る2013/11/1~2013/11/30の日付を入力された上で、セルの書式設定によって1~31と表示される様にした方が良いと思います。  例えば、H4セルに2013といった西暦の年数が入力されていて、H5セルに11といった月を表す数が入力されている場合、次の様にしますと、H7セル~AL7セルに、入力されているデータを、その月の日付を表すシリアル値とした上で、モニター上や印刷時の表示を1、2、3・・・といった日付のみの数値とする事が出来ます。  まず、H4セルに次の関数を入力して下さい。 =IF(ISNUMBER(($H$4&"/"&$H$5&"/"&COLUMNS($H:H))+0),($H$4&"/"&$H$5&"/"&COLUMNS($H:H))+0,"")  次に、以下の操作を行って、H4セルに「日付を表す数値のみを表示する」書式設定して下さい。 H7セルを右クリック   ↓ 現れた選択肢の中にある[セルの書式設定]をクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[表示形式]タブをクリック   ↓ 現れた「分類」欄の中にある[ユーザー定義]をクリック   ↓ 現れた「種類」欄に d と入力 (因みに d"日" と入力しますと、「1日」の様に「日」という漢字付きで表示されますし、 d"("aaa")" と入力しますと、「1(金)」の様に曜日付きで表示されます)   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック  次に、H7セルをコピーして、I7~AL7の範囲に貼り付けて下さい。  これで、H7セル~AL7セルに入力されているデータを、その月の日付を表すシリアル値とした上で、モニター上や印刷時の表示を1、2、3・・・といった日付のみの数値とする事が出来ます。  尚、年と月を指定するのに、2つのセルを使うのではなく、例えばH3セルに 2013年11月 等の様に年月を表す文字(そのセルを選択すると判りますが、表示上は文字に見えますが、実際には「2013/11/1」という日付データとなっている筈です)が入力されている場合には、H7セルに入力する関数を次の様なものにして下さい。 =IF(ISNNUMBER(1/(YEAR($H$3)>1903)/(TEXT($H$3,"yyyy/m")&"/"&COLUMNS($H:H))),(TEXT($H$3,"yyyy/m")&"/"&COLUMNS($H:H))+0,"") 或いは =IF(ISNNUMBER(1/(YEAR($H$3)>1903)),IF(MONTH(DATE(YEAR($H$3),MONTH(H$3),COLUMNS($H:H)))=MONTH(H$3),DATE(YEAR($H$3),MONTH(H$3),COLUMNS($H:H)),""),"")  それから、ExcelのバージョンがExcel2003という事は、条件付き書式で設定されている条件が、複数同時に満たされている場合には、「条件付書式の設定」ダイアログボックスで設定した複数の条件付き書式の内、先に設定した方(「条件付書式の設定」ダイアログボックスの中で上に表示されている方)の書式が優先されて反映され、後に設定した方(「条件付書式の設定」ダイアログボックスの中で下に表示されている方)の書式は反映されません。  つまり、(1)の4日毎に罫線を引く条件付き書式を先に設定しておいて、その後から、(2)の第3水曜日を塗りつぶす条件付き書式を設定した場合、「4で割り切れる日であると同時に、第3水曜日でもある日」には、先に設定された方の(1)の罫線を引く条件付き書式のみが反映されて、(2)の第3水曜日を塗りつぶす条件付き書式は無視される事になります。  確認したいのですが、日付を入力するセルが、H7~AL7の31セルであるという事は、もしかしますと、入力される日付はその月の1日から月末の日付のみであり、H7セルには必ず1日の日付が入力され、H7~AL7の日付は必ず連続した日付となっているのではないでしょうか?  もしもそうであるのなら、(1)の4日毎に罫線を引くという書式は、何も条件付き書式によって設定なさらなくとも、単純に普通の「セルの書式設定」によって罫線を引いておかれれば済む話なのですから、(1)の4日毎に罫線を引く条件付き書式を削除される事を御勧め致します。  それとも何らかの理由があって、どうしても普通の「セルの書式設定」によって4列ごとに罫線を引く事が出来ないのでしたら、「4日毎に右の罫線を引く条件付き書式」と「第3水曜日を塗りつぶす条件付き書式」の他に、「4日毎の日付であると同時に、第3水曜日でもある日には、右の罫線を引くと共に塗りつぶしも行う条件付き書式」も設定する必要が生じます。  その設定方法に関しては、少し長くなるため、このサイトの回答欄の入力可能文字数制限を超える恐れがありますので、又後で回答させて頂きます。

noname#247334
質問者

お礼

画像付きで非常に詳しく回答していただきありがとうございました。 条件1と2を入れ替える事で問題が解決しました。 感謝感激です。

  • okMumin
  • ベストアンサー率0% (0/2)
回答No.3

 今、残念ながら手元にパソコンが無いので、以下を実際そちらで確認して頂きたいです。  ・まず、条件2のDAYS式は確かに水曜日が4の設定値なのか。  ・条件付き書式の「次の条件式(数式だったかな?)に等しい」を選んでいるか。  ・最後の「=TRUE」の部分を削除してみる。  ・「好きな色」をハッキリした濃い色に変えてみる。  どうでしょうか?もし変わらなかったら、ごめんなさい。

noname#247334
質問者

お礼

条件1と2を入れ替える事で作動しました。 この度は回答ありがとうございました、私の為に時間を割いてくださった事感謝申し上げます。

回答No.1

行番号を絶対参照にしたのが問題なのだと思います。 =AND(DAY(H7)>=15,DAY(H7)<=21,WEEKDAY(H7)=4) で出来ませんか?

noname#247334
質問者

お礼

問題は解決しました。 この度は私の為に時間を割いて頂きありがとうございました。 非常に助かりました。 また機会があれば宜しくお願いします。

noname#247334
質問者

補足

やってみましたが出来ませんね・・・。 何かが邪魔して上手く機能していないのでしょうか。

関連するQ&A

  • 条件付き書式による塗りつぶしのご質問

    サンプル図をご用意しました。 図のように完了日欄(C4)に"6月3日"と入力すると2~3日分の作業予定欄の入力欄を塗りつぶし入力を除外しようとしています。 条件付き書式にて数式を指定して書式設定するセルを決定"を選択し「=$C$4>6/2」(※指定日付以上を塗りつぶしたい)と入力してみましたが、C4に”6月1日”と入力してもB13:D13は塗りつぶされたままとなります。 行いたいことは完了日付まで日数分は予定表の入力欄を塗りつぶすようにしたいのですが条件付き書式欄に入れる数式をご教示いただけると幸いです。 よろしくお願いします。

  • エクセル 条件付書式の設定

    セルA1、B1、C1、D1を使用します。 セルA1には4桁の番号を入力するものとします。 セルB1、C1、D1には日付を入力するものします。 【1】セルB1に日付を入力すると、セルA1の文字色が赤になるよう設定。     →これは自力で「条件付き書式」で設定できます。 【2】セルB1とC1に日付を入力すると、セルA1の文字色が青になるよう設定。 【3】セルB1とC1とD1に日付を入力すると、セルA1の文字色が緑になるよう設定。 上でも書きましたが、【1】の設定は条件付き書式で設定できました。 【2】、【3】についての設定が、上手くできず困っております。 【1】の設定を条件付き書式にて設定しましたので、【2】、【3】についても できれば条件付き書式で設定したいと思いますので、 可能であれば設定方法を教えてください。 条件付き書式で設定不可能であれば、他の設定方法をご存知であれば 教えてください。 よろしくおねがいします。

  • EXCELの条件付書式について

    I1のセルに赤色太文字で日付を入力すると、B1~H1のセルが水色に塗り潰されると言う条件付き書式を設定したところ、I1のセルに入力した日付の色が黒色になってしまいました。 I1のセルの日付を赤色太文字で表示したい場合、どの様な条件を設定(追加)すれば宜しいでしょうか? 条件付書式:数式が=AND(ISNUMBER($I1),LEFT(CELL("format",$I1),1)="D") ⇒ B1~H1のセルが水色に塗り潰される。 過去に似た様な質問がある中大変恐縮ですが、ご回答をお待ちしております。

  • 条件付き書式について

    条件付き書式でセルへ色を付ける方法を教えてください。 ●Office2013使用 ●別シート名「祝日」で、祝日リストを作成済み  (A列に祝日日付を入れています) ●A2には「1」としか表示されていませんが  yyyy/m/d(aaa)の「d」のみ表示するよう書式設定 ●B2には「金」としか表示されていませんが  yyyy/m/d(aaa)の「aaa」のみ表示するよう書式設定 <やりたいこと> 書式設定(土日はWEEKDAY、祝日はCOUNTF使用)で 土・日・祝日のセルに色を付けたいのですが C列だけ色が付きません。 C列には文字を入力する予定ですので 文字を入れても背景の色はAB列と同じのまま… そんなこと可能でしょうか。 色々調べてやってみたのですがギブアップです…。 どなたかお詳しい方、教えていただけないでしょうか。 宜しくお願い致します。

  • excel2003条件付き書式でのOR関数について

    Excel2003を使用しています。 条件付書式で以下、3つの条件が設定されています。   (1)数式が▼ =OR(WEEKDAY(S$4)=1,WEEKDAY(S$4)=7,COUNTIF(休日,S$3))   (2)数式が▼ =S$3=TODAY()   (3)数式が▼ =S$171="遅延"   (1)の条件が満たされたとき、セル色を「ピンク」 (2)の条件が満たされたとき、セル色を「紫」 (3)の条件が満たされたとき、セル色を「赤」   上記の条件のうち、(1)の条件に【セル(S3)が空白の場合】という条件を追加したく   (1)数式が▼ =OR(WEEKDAY(S$4)=1,WEEKDAY(S$4)=7,S$3="",COUNTIF(休日,S$3))   【S$3=""】 を追記したのですが、なぜか書式が適用されません。  ※追記したところ、セル色が無色になりました※ 数式は間違っていないと思うのですが、書式が適用されないということは やはり数式が間違っているのでしょうか? それとも、そもそもこの条件を追加すること自体ができないのでしょうか?   1ヶ月の工程表を作成しており、表を毎月コピーして使用するため 31日が存在しない月は日付のセル(行番号:3)を空白にして使用します。   色々調べたのですが、このような記述のある質問が見当たらず 行き詰ってしまったので質問させていただきました。   お手数おかけしますが、何卒ご教示のほどよろしくお願いします。

  • エクセルの条件付書式について質問させてください。

    エクセルの条件付書式について質問させてください。 xp2003を使用しています。 B列に4/1~9/30までの日付が入力されるとC列のセルに色を付ける B列に10/1~3/31までの日付が入力されるとD列のセルに色を付ける という条件付書式は可能でしょうか?     そのシートは毎年コピーして使用する予定で行は100位になります。  実際は『 H22.4.1 』という感じで元号込みにしたいのですが書式を日付にしてしまうととその年しか使えないのかと思いA列にユーザー定義で『 21 』と入力すれば『 H21 』となるように、B列に文字列で『 4/1 』と日付を入力するようにし、B列を参照にC列とD列に条件付書式を設定してみました。 試してみてなんとなく色は付いたのですがなぜが9月4日~9日、1月全部、3月4日~9日位が色が付かない状態で…困っています。  条件付書式で入力した内容は「数式」で C1には=AND(B1>="4/1",B1<="9/30")パターンを黄色にしました。 D1には=AND(B1>="10/1",B1<="3/31")パターンを水色にしました。 本当は図を貼りつけたかったのですがやり方が分かりませんでした…。 どうかよろしくお願いいたします。  

  • 条件付き書式の値の設定の仕方

    日付を入力し、そこから曜日を表示させていますが、日曜日なら赤、土曜日なら青、というように、条件付き書式の設定をしたいのですが、値の設定を何と入れたら良いのかわかりません。 まずA1に20006/10/1と入力して、2006年10月1日と表示されるようにしています。 そしてB1に「=A1」と入力し、「セルの書式設定」の「表示形式」で「ユーザー定義」を選び、「(aaa"曜""日")」と設定しています。 B1のセルには「(日曜日)」と表示されます。 これで、日付を入力すれば自動で曜日が表示されるようになったのですが、日曜のときのは赤、という条件付き書式設定が、いろいろ試したのですがうまくいきません。 10月1日だけにではなく、どんな日付にも対応するようにしたいのですが、どなたか教えていただけないでしょうか。

  • 条件付き書式について

    セルに7/17と入力しこの日が過ぎたら色が付くように、 条件付き書式で設定することは出来ますか? 他の方法でも良いのですが、どなたか教えて下さい。

  • 条件付き書式 数式について Excel2003

    条件付き書式 数式について こんにちは。Excel2003を使用しています。条件付き書式を数式で使おうと思っています。 A列のセルの書式設定は「日付」になっています。 A1に「2011/7/28」とはいっています。 やりたいことは、A列の日付が今日の日付とイコールならA1~C1のセルの背景色を赤にしたいと思っています。 そこで、書式の条件付き書式から数式を選び、下記の式を入力しました。 today() = A1 で書式のパターンを赤にしました。 しかしながら、何もかわりません。何が間違っていると考えられるでしょうか?

  • エクセル2003の条件付き書式設定について

    あるセルに入っている日付がTODAYの日付を越した場合に、 文字を赤くする設定を行いたいのですが、うまくいかずに困っております。 例えば セル A1        B1     C1       D1 状態      購入日   有効期限   超過 とある場合。 Bに日付を入力すると自動的に購入日から365日後が入るように設定しております。 条件書式設定が間違っているのだと思いますが、私には思いつかず、困っております。 やりたいのは、Cの有効期限がTODAYの日付を超えた場合赤文字にしたいのです。 日付が固定だとうまくいくのですが流動的なためうまくかけません。 フォント設定は問題ないのですが式が間違っているのでしょうか。 私が書いたのは、 条件書式設定のところで、 =C1>TODAY()+1 まずはこれが間違っていたのでしょうか。 後、D1の日付のところでCの日付が何日超過しているのか 計算する関数などあれば教えていただけないでしょうか。 宜しくお願いいたします。

専門家に質問してみよう