アプリ版:「スタンプのみでお礼する」機能のリリースについて

A B C D E F
01 02 03 04 05 06 07 08 09 10(日付)
2011/01/01 2011/01/05 a
2011/01/03 2011/01/08 b
2011/01/03 2011/01/10 c

上記のような配列(1行目D列から1日~31日までの日付、A列に開始日、B列に終了日、C列に種類)でD2から開始日から終了日の期間を条件がaなら赤、bなら青、cなら黄色というように色付けするにはどうしたらよいでしょうか。
例えば2行目なら、D2からH2まで赤、3行目ならF3からK3まで青、という感じです。
何卒よろしくお願い致します。

A 回答 (3件)

 使用する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]ボタンをクリック
    • good
    • 0
この回答へのお礼

できました~~~~~!!!!!!

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

お礼日時:2011/11/02 11:44

添付図のようにしたいということですか?



ならば、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以下で場合分けしています。利用に応じて修正して下さい
「エクセル 複数条件の書式設定について」の回答画像3
    • good
    • 0
この回答へのお礼

できました!!!!!
本当にありがとうございます。

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

お礼日時:2011/11/02 11:43

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

この回答への補足

すみません!スペースが反映されていないようでした。。
1行目 D1からE1,F1・・・と1~31の日付
2行目 A2開始日(2011/01/01)、B2終了日(2011/01/05)、C2条件(a) 

というようになっていて、D2からH2まで赤、というように色付けしたいです。
AとBの指定する区間に色付けし、かつCにある条件で色分けしたいです。

伝わりますでしょうか・・・。

補足日時:2011/11/01 20:59
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/11/02 17:05

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