• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル 複数条件の書式設定について)

エクセルの複数条件の書式設定について

このQ&Aのポイント
  • エクセルで複数条件の書式設定をする方法について教えてください。
  • 特定の条件に基づいてセルの書式を変更する方法を知りたいです。
  • 開始日と終了日に応じて、特定の種類に対して色付けを行いたいです。

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

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

 使用するExcelのバージョンによって、操作方法が異なるのですが、質問者様が使われているExcelは、どのバージョンなのでしょうか? 【Excel2007以降のバージョンの場合】 D2セルを選択   ↓ [ホーム]タブをクリック   ↓ 「スタイル」グループの中にある[条件付き書式]ボタンをクリック   ↓ 現れた選択肢の中にある[新しいルール]をクリック   ↓ 現れた「新しい書式ルール」ダイアログボックスの[数式を使用して、書式設定するセルを決定]をクリック   ↓ 「次の数式を満たす場合に値を書式設定」と記されている欄に次の数式を入力 =AND(ISNUMBER($A2),ISNUMBER($B2),$C2="a",D$1>=DAY($A2),D$1<=DAY($B2))   ↓ 「新しい書式ルール」ダイアログボックスの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[塗りつぶし]タブをクリック   ↓ 現れた[色]欄をクリック   ↓ 赤色の四角形をクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「新しい書式ルール」ダイアログボックスの[OK]ボタンをクリック   ↓ 選択しているセルを変えずに、再度「スタイル」グループの中にある[条件付き書式]ボタンをクリック   ↓ 現れた選択肢の中にある[新しいルール]をクリック   ↓ 現れた「新しい書式ルール」ダイアログボックスの[数式を使用して、書式設定するセルを決定]をクリック   ↓ 「次の数式を満たす場合に値を書式設定」と記されている欄に次の数式を入力 =AND(ISNUMBER($A2),ISNUMBER($B2),$C2="b",D$1>=DAY($A2),D$1<=DAY($B2))   ↓ 「新しい書式ルール」ダイアログボックスの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[塗りつぶし]タブをクリック   ↓ 現れた[色]欄をクリック   ↓ 青色の四角形をクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「新しい書式ルール」ダイアログボックスの[OK]ボタンをクリック   ↓ 選択しているセルを変えずに、再度「スタイル」グループの中にある[条件付き書式]ボタンをクリック   ↓ 現れた選択肢の中にある[新しいルール]をクリック   ↓ 現れた「新しい書式ルール」ダイアログボックスの[数式を使用して、書式設定するセルを決定]をクリック   ↓ 「次の数式を満たす場合に値を書式設定」と記されている欄に次の数式を入力 =AND(ISNUMBER($A2),ISNUMBER($B2),$C2="c",D$1>=DAY($A2),D$1<=DAY($B2))   ↓ 「新しい書式ルール」ダイアログボックスの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[塗りつぶし]タブをクリック   ↓ 現れた[色]欄をクリック   ↓ 黄色の四角形をクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「新しい書式ルール」ダイアログボックスの[OK]ボタンをクリック   ↓ 選択しているセルを変えずに、再度「スタイル」グループの中にある[条件付き書式]ボタンをクリック   ↓ 現れた選択肢の中にある[ルールの管理]をクリック   ↓ 現れた「条件付き書式ルールの管理」ダイアログボックスの「書式ルールの表示」欄が[現在の選択範囲]となっている事を確認   ↓ 「ルール(表示順で適用)」欄が「数式:=AND(ISN...」となっている3つの行の「適用先」欄の内容を全て =$D$2 から ==$D:$AG に変更する   ↓ 「条件付き書式ルールの管理」ダイアログボックスの[OK]ボタンをクリック 【Excel2007よりも前のバージョンの場合】 D2セルを選択   ↓ メニューの[書式]をクリック   ↓ 現れた選択肢の中にある[条件付き書式]をクリック   ↓ 現れた「条件付き書式の設定」ダイアログボックスの左端の欄をクリック   ↓ 現れた選択肢の中にある「数式が」をクリック   ↓ 「条件付き書式の設定」ダイアログボックスの左から2番目の欄に次の数式を入力 =AND(ISNUMBER($A2),ISNUMBER($B2),$C2="a",D$1>=DAY($A2),D$1<=DAY($B2))   ↓ 「条件付き書式の設定」ダイアログボックスの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[パターン]タブをクリック   ↓ 現れた[色]欄をクリック   ↓ 赤色の四角形をクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「条件付き書式の設定」ダイアログボックスの[追加]ボタンをクリック   ↓ 「条件付き書式の設定」ダイアログボックスの条件2(2)の左端の欄をクリック   ↓ 現れた選択肢の中にある「数式が」をクリック   ↓ 「条件付き書式の設定」ダイアログボックスの条件2(2)の左から2番目の欄に次の数式を入力 =AND(ISNUMBER($A2),ISNUMBER($B2),$C2="b",D$1>=DAY($A2),D$1<=DAY($B2))   ↓ 「条件付き書式の設定」ダイアログボックスの条件2(2)の[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[パターン]タブをクリック   ↓ 現れた[色]欄をクリック   ↓ 青色の四角形をクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「条件付き書式の設定」ダイアログボックスの[追加]ボタンをクリック   ↓ 「条件付き書式の設定」ダイアログボックスの条件3(3)の左端の欄をクリック   ↓ 現れた選択肢の中にある「数式が」をクリック   ↓ 「条件付き書式の設定」ダイアログボックスの条件3(3)の左から2番目の欄に次の数式を入力 =AND(ISNUMBER($A2),ISNUMBER($B2),$C2="c",D$1>=DAY($A2),D$1<=DAY($B2))   ↓ 「条件付き書式の設定」ダイアログボックスの条件3(3)の[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[パターン]タブをクリック   ↓ 現れた[色]欄をクリック   ↓ 黄色の四角形をクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「条件付き書式の設定」ダイアログボックスの[OK]ボタンをクリック   ↓ D2セルにカーソルを合わせて、マウスを右クリック   ↓ 現れた選択肢の中にある[コピー]をクリック   ↓ D列~AG列の2行目以下を範囲選択   ↓ 選択範囲を示す黒い太枠の内側にカーソルを合わせて、マウスを右クリック   ↓ 現れた選択肢の中にある[形式を選択して貼り付け]をクリック   ↓ 現れた「形式を選択して貼り付け」ダイアログボックスの中にある「書式」と記されている箇所をクリックして、チェックを入れる   ↓ 「形式を選択して貼り付け」ダイアログボックスの[OK]ボタンをクリック

mmmtter
質問者

お礼

できました~~~~~!!!!!! VBAが分からない私にとってはこちらの方がやりやすかったためBAとさせていただきます。 本当に助かりました。ありがとうございました。

その他の回答 (2)

noname#146604
noname#146604
回答No.3

添付図のようにしたいということですか? ならば、VBEにて以下をコピペで実行して下さい。 Sub macro() For i = 2 To 65536 myval = Range("c" & i).Value myday1 = Day(Range("a" & i).Value) myday2 = Day(Range("b" & i).Value) mydis = myday2 - myday1 Select Case myval Case "" Case Is <= 10 Cells.Find(myday1, lookat:=xlWhole).Offset(i - 1, 0).Resize(1, mydis + 1).Interior.Color = RGB(255, 0, 0) Case Is <= 20 Cells.Find(myday1, lookat:=xlWhole).Offset(i - 1, 0).Resize(1, mydis + 1).Interior.Color = RGB(0, 0, 255) Case Is <= 30 Cells.Find(myday1, lookat:=xlWhole).Offset(i - 1, 0).Resize(1, mydis + 1).Interior.Color = RGB(0, 255, 0) End Select Next End Sub ※この例ではC列の条件を10以下,20以下,30以下で場合分けしています。利用に応じて修正して下さい

mmmtter
質問者

お礼

できました!!!!! 本当にありがとうございます。 ただ、、、、VBAが全く分からない私は本当にそのままコピペすることしかできず・・・。 これから勉強していきたいです。

noname#146604
noname#146604
回答No.1

表がどうなっているのか分かりにくい。

mmmtter
質問者

お礼

ご指摘ありがとうございました。補足をしたおかげで良い解答を頂けました!

mmmtter
質問者

補足

すみません!スペースが反映されていないようでした。。 1行目 D1からE1,F1・・・と1~31の日付 2行目 A2開始日(2011/01/01)、B2終了日(2011/01/05)、C2条件(a)  というようになっていて、D2からH2まで赤、というように色付けしたいです。 AとBの指定する区間に色付けし、かつCにある条件で色分けしたいです。 伝わりますでしょうか・・・。

関連するQ&A