[[20201203120412]] 『特定条件を満たした数字に色をつけたい』(おもち) ページの最後に飛ぶ

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

 

『特定条件を満たした数字に色をつけたい』(おもち)

初めて利用させていただきます。

2シート使い、カレンダー作成をしたいです。

1つめのシートは
   金土日…
1月 1 2 3…
   月火水…
2月 1 2 3…
↑このように横並びのカレンダーになっています。
そして曜日が日、又は曜日の上に祝、曜日の上に0を入れると日付の下に"休"と出るようにしています。

2つめのシートはよくある日曜始まりのひと月ブロックの年間カレンダーです。
1つめのシートで"休"と出た日付を、連動して色づけるようにしたいのですが、可能なのでしょうか?
よろしくお願いいたします。

< 使用 Excel:Excel2013、使用 OS:Windows10 >


 ひと月のカレンダーの方にも同様の処理を行うか
 1つ目のシートを参照して"休"の文字を持ってくれば
 セルの書式設定で色付けが楽にできる気がします。
(ななし) 2020/12/03(木) 15:30

ななし様
お返事ありがとうございます。

1つめのシートでは
「=(IF(OR(B2="日",B1="祝",B1="0"),"休",""))」
これを入れて他の箇所にも使って?いるのですが
2つめのシート上ですと
どう参照して関数を組み込んだら良いか分からなくて……
シートを跨いで条件付き書式を使ったことがなく

面倒をお掛けして申し訳ありませんが、ご教示ください。
(おもち) 2020/12/03(木) 17:12


 ひと月のカレンダーの方のレイアウトはどのようになっているのでしょうか?
  __A____B__
 1|1    |2    |
 2|    |    |
 3|____|____|... のように、複数セルを使っていると少し面倒くさいかもしれません。

 レイアウトがどうなっていて、どの部分に色をつけたいのか教えてもらってもいいですか?
(ななし) 2020/12/03(木) 18:00

お待たせしてすみません。
ひと月のカレンダーは
  A B ……  G    I J
 |日|月|……|土|  |日|月|……
1| |1 |  |6|  |1| 2|……
2|7|8 |……

のように、一つの日付に対し一つのセルしか使っておりません。
そして1列開けて3ヶ月ごとにある感じです。(伝わりますでしょうか?)
色をつけたい部分としては、先も申し上げた通り、もう一つのシートで"休"が出た日付を赤色にしたいのです。
(おもち) 2020/12/03(木) 20:42


【追記】
すみません、表示がおかしくなってしまっていますね。
一つの日付に対し一つのセルを使っているので、ひと月で使っているセルは横7×縦6の42です。(曜日も入れたら7×7の49ですが)

(おもち) 2020/12/03(木) 20:47


 >=(IF(OR(B2="日",B1="祝",B1="0"),"休",""))
 の式は手書きですか。それとも貼り付けですか。
(OMO) 2020/12/03(木) 22:16

OMO様

B4のセルに手打ちです。それを横に引っ張ってコピーしています。
(おもち) 2020/12/04(金) 07:43


 >>の式は手書きですか。それとも貼り付けですか。
 質問が悪かったみたいですね。
 返信時にこの掲示板に手書きしたのか、エクセルから貼り付けたのか
 ということだったんです。
 多分式が間違っているので手書きだと思うんですが。括弧が不適切です。
 このような数式はエクセルから貼り付けた方がいいですよ。

(OMO) 2020/12/04(金) 08:56


 >そして1列開けて3ヶ月ごとにある感じです。
 そのカレンダーをどの月かを特定できるようなセルはどこかにありますか?

 もしあって、今のレイアウトを崩さないのであれば、月&日付でsheet1をlookupして
 そのセルの下が"休"だったら赤にする…という感じですかね。

 (お伺いしたいのですが、横並びの方と1月の方はどういう使い分けですか?
 横並びでしか休日管理をしないのはなぜでしょう?
 上記のやり方だと、sheet1のレイアウト変更があった際に弱く、数式が煩雑になるので
 可能なのであればsheet2の方にまとめてしまえばいいのではないかと思ったのですが…)

 //今更ですが ="日"ということはweekday関数ではないのですね。思い込んでいました…

(ななし) 2020/12/04(金) 10:02


OMO様
失礼いたしました。手入力しておりました。
Excelより貼り付けました式は下記の通りです。
=(IF(OR(B2="日",B1="祝",B1=1),"休",""))

ななし様
曜日行の上一行開けて、真ん中に1月の"1"のみを入れております。
なので
   1
 _空白行_
日月火水木金土
 1 2 3 4 5 6
7 8 …
…293031
↑このような感じです。

weekday関数は使用しておりませんでした。"日"以外にも対象物があったのでIFで良いかなと思っておりました…。
weekdayを使用したほうが良いでしょうか?
何となくHLOOKUP関数を使用するのかなと思っておりましたが、やはりそうなのですね。

使い分けといたしましては…少々ややこしいので
結論から申しますと「年間カレンダーは提出用」「横並びは管理用」です。
同じシート内にまとめない理由は単に担当者が分けてほしいと仰っているからです。

詳しい使い分けの内容は、後程お送りいたしますので、少々お待ちくださいませ。
(おもち) 2020/12/04(金) 11:30


 >結論から申しますと「年間カレンダーは提出用」「横並びは管理用」です。 
 この情報だけでも大丈夫です。了解しました。
 提出は、Excelの状態ではなく印刷等して提出しますか?

 >weekdayを使用したほうが良いでしょうか? 
 管理用(横並び)の方を作るときに、毎回曜日をフィルするのが面倒でなければ
 どちらでも良いと思います。使いやすいのが一番です。

 管理用のほうの"1月"は書式設定で1月を付けていますか?それとも文字列で1月の入力ですか?
(ななし) 2020/12/04(金) 12:00

表のお手伝いです。

 >そして曜日が日、又は曜日の上に祝、曜日の上に0を入れると日付の下に"休"と出るようにしています。
 >1つめのシートでは 
 >「=IF(OR(B2="日",B1="祝",B1="0"),"休","")」 
 >これを入れて
 1つめのシートは提示されているものを元に作成。
 これだとどこにどのように入力するのか分かりません。
 入力場所がありません。

 1つめのシート

    |[A] |[B]|[C]|[D]|[E]|[F]|[G]|[H]|[I]|[J]|[K]|[L]|[M]|[N]|[O]|[P]|[Q]|[R]|[S]|[T]|[U]|[V]|[W]|[X]|[Y]|[Z]|[AA]|[AB]|[AC]|[AD]|[AE]|[AF]
 [1]|    |金 |土 |日 |月 |火 |水 |木 |金 |土 |日 |月 |火 |水 |木 |金 |土 |日 |月 |火 |水 |木 |金 |土 |日 |月 |火  |水  |木  |金  |土  |日  
 [2]|10月|  1|  2|  3|  4|  5|  6|  7|  8|  9| 10| 11| 12| 13| 14| 15| 16| 17| 18| 19| 20| 21| 22| 23| 24| 25|  26|  27|  28|  29|  30|  31
 [3]|    |月 |火 |水 |木 |金 |土 |日 |月 |火 |水 |木 |金 |土 |日 |月 |火 |水 |木 |金 |土 |日 |月 |火 |水 |木 |金  |土  |日  |月  |火  |    
 [4]|11月|  1|  2|  3|  4|  5|  6|  7|  8|  9| 10| 11| 12| 13| 14| 15| 16| 17| 18| 19| 20| 21| 22| 23| 24| 25|  26|  27|  28|  29|  30|    
 [5]|    |水 |木 |金 |土 |日 |月 |火 |水 |木 |金 |土 |日 |月 |火 |水 |木 |金 |土 |日 |月 |火 |水 |木 |金 |土 |日  |月  |火  |水  |木  |金  
 [6]|12月|  1|  2|  3|  4|  5|  6|  7|  8|  9| 10| 11| 12| 13| 14| 15| 16| 17| 18| 19| 20| 21| 22| 23| 24| 25|  26|  27|  28|  29|  30|  31

 >1列開けて3ヶ月ごとにある感じです。
 >曜日行の上一行開けて、真ん中に1月の"1"のみを入れております。
 2つめのシートはこんな感じでしょうか。

 2つめのシート

    |[A]|[B]|[C]|[D]|[E]|[F]|[G]|[H]|[I]|[J]|[K]|[L]|[M]|[N]|[O]|[P]|[Q]|[R]|[S]|[T]|[U]|[V]|[W]
 [1]|   |   |   | 10|   |   |   |   |   |   |   | 11|   |   |   |   |   |   |   | 12|   |   |   
 [2]|   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   
 [3]|日 |月 |火 |水 |木 |金 |土 |   |日 |月 |火 |水 |木 |金 |土 |   |日 |月 |火 |水 |木 |金 |土 
 [4]|   |   |   |   |   |  1|  2|   |   |  1|  2|  3|  4|  5|  6|   |   |   |   |  1|  2|  3|  4
 [5]|  3|  4|  5|  6|  7|  8|  9|   |  7|  8|  9| 10| 11| 12| 13|   |  5|  6|  7|  8|  9| 10| 11
 [6]| 10| 11| 12| 13| 14| 15| 16|   | 14| 15| 16| 17| 18| 19| 20|   | 12| 13| 14| 15| 16| 17| 18
 [7]| 17| 18| 19| 20| 21| 22| 23|   | 21| 22| 23| 24| 25| 26| 27|   | 19| 20| 21| 22| 23| 24| 25
 [8]| 24| 25| 26| 27| 28| 29| 30|   | 28| 29| 30|   |   |   |   |   | 26| 27| 28| 29| 30| 31| 

(OMO) 2020/12/04(金) 12:07


ななし様
提出用は印刷をして提出します。
weekdayは検討してみます。ありがとうございます。

管理用の"1月"は特に書式設定せず、文字列で入力しておりました。

OMO様
表を作成していただき、ありがとうございます。とても分かりやすくしていただき助かりました…。
どちらも作成していただいた通りのものです。
シート1の横並びカレンダーは
1行目に"祝"又は"0"を入れて、4行目に"休"を表示、5行目が空白ですので

   |[A] |[B]|[C]|[D]|[E]|[F]|[G]|[H]|[I]|[J]|[K]|[L]|[M]|
[1]|  |   |   |   |   | 0 |祝 |   |   |   |   |   |   |
[2]|    |金 |土 |日 |月 |火 |水 |木 |金 |土 |日 |月 |火 |
[3]|10月|  1|  2|  3|  4|  5|  6|  7|  8|  9| 10| 11| 12|
[4]|  |   |   |休 |   |休 |休 |   |   |   | 休|   |   |
[5]|  |   |   |   |   |   |   |   |   |   |   |   |   |

このような感じです。
説明不足で申し訳ございません。

よろしくお願いいたします。
(おもち) 2020/12/04(金) 12:56


 OMO様、表の作成ありがとうございます。

 考えてたんですがこれ数式でやるととても面倒ですね。
 (自分の練習としてトライしたので数式がごちゃごちゃです。
 綺麗に出来る方がいればお願いします)

 前提条件
 1. 横並びの日付は全てシリアル値であること
 2. 横並びの月は10,11,12 など数字の入力のみとすること
  (見た目を変えたい場合書式設定で「#"月"」にしてください)
 3. ブロックカレンダーの方に作業行を作成しました。
  印刷の際は隠してください。
 4. sheet1、1行目の「1」は"休"を表示させることに使用しているだけで祝と0の代わりです。
  実際の反映の際は自分の書式のままで大丈夫です。
 5. sheet1のレイアウトはひたすら下にしか伸びていかない前提です。

 sheet1
  _A_|B_|C_|D_|E_|F_|G_|H_|...										 ...|AE|AF|
 1|	|1 |			  |1 |			  |1 |		|1 |1 |
 2|  |木|金|土|日|月|火|水|木|金|土|日|月|火|水|木|金|土|日|月|火|水|木|金|土|日|月|火|水|木|金|土|
 3|10月|1 |2 |3 |4 |5 |6 |7 |8 |9 |10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|
 4|	|休|	  |休|	  |休|	|休|		  |休| |休|   |休|休|	|休|

 sheet2
  _A_|B_|C_|D_|E_|F_|G_|
 1 |10|10|10|10|10|10|10|←真ん中以外はセルの色白にするとかで隠してください
 2 |
 3 |日|月|火|水|木|金|土|
 4 | | | | |1 |2 |3 |
 5 |4 |5 |6 |7 |8 |9 |10|
 6 |11|12|13|14|15|16|17|
 7 |18|19|20|21|22|23|24|
 8 |25|26|27|28|29|30|31|
 9 |
 10|3 |3 |3 |3 |3 |3 |3 |←A10= MATCH(MONTH(A1),Sheet1!$A:$A,0) 横にフィル
 11| | | | |休| | |←A11= IFERROR(INDEX(INDIRECT("Sheet1!"&A$10+1&":"&A$10+1),1,MATCH(A4,INDIRECT("Sheet1!"&A$10&":"&A$10),0)),"")
 12|休| | | |休| | | 縦横にフィル
 13|休| | | | |休| |
 14|休| | |休|休| | |
 15|休| | | | | | |

 セルの書式設定で
 対象 =$4:$8
 数式を利用して〜のところに =A11="休"
 赤で塗りつぶし

 この数式であれば、11月、12月、と変更しても赤色にできることは確認できました。
 力業ですみませんがご確認ください。
(ななし) 2020/12/04(金) 17:33

 日、祝は完全に休ですか。
 >=(IF(OR(B2="日",B1="祝",B1=0),"休",""))
 >=(IF(OR(B2="日",B1="祝",B1=1),"休",""))
 B1の0と1は何を意味するのですか。

(OMO) 2020/12/04(金) 18:46


ななし様
OMO様

助けていただいてありがとうございます。
大変感謝しております。
月曜日にまた返信いたしますので、お時間ください。

引き続き、よろしくお願いいたします。

(おもち) 2020/12/04(金) 21:05


ななし様
OMO様

お待たせして申し訳ございません。
一先ずななし様の方法を試してみます!

現状、日曜日は固定休日ですが祝日は休んだり休まなかったりです。
すみません、貼り付けを間違えていたようで

 >=(IF(OR(B2="日",B1="祝",B1=1),"休",""))
↑の式は気にしないでください。
使っているのは
 >=(IF(OR(B2="日",B1="祝",B1=0),"休",""))
↑こっちだけです。

ややこしくしてしまい、申し訳ございません。

また、B1の0ですが、こちらは日祝以外の休みを入れる際に使っています。
例としては12/4(金)12:56に投稿したものになるのですが、分かりにくかったでしょうか…。
(おもち) 2020/12/07(月) 10:11


コメント返信:

[ 一覧(最新更新順) ]


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