Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 7 Home Premium : Excel 2013)
祝祭日のみにセルを囲む方法について
投稿日時: 17/08/17 08:50:03
投稿者: オンバンちゃん

以下のようなシートがあった場合、祝日だった日のみセルを囲む場合、条件付き書式でどのような設定になるのでしょうか?土日については特にセルで囲んだりする予定はありません。
日付については、a3のように遡ったりすることもあるのですが…
すみませんが、よろしくお願いいたします。
 
 
    a   b    
1 平成29年8月11日   金
 
2 平成29年8月12日   土
 
3 平成28年4月29日   金
 

回答
投稿日時: 17/08/17 09:15:39
投稿者: んなっと

●「祝日」シート作成
 
       A       B
 1  2016/1/1     元日
 2  2016/1/11   成人の日
 3  2016/2/11 建国記念の日
 4  2016/3/20   春分の日
 5  2016/4/29   昭和の日
 6  2016/5/3  憲法記念日
 7  2016/5/4  みどりの日
 8  2016/5/5  こどもの日
 9  2016/7/18    海の日
10  2016/8/11    山の日
11  2016/9/19   敬老の日
12  2016/9/22   秋分の日
13 2016/10/10   体育の日
14  2016/11/3   文化の日
15 2016/11/23 勤労感謝の日
16 2016/12/23  天皇誕生日
17  2017/1/1     元日
18  2017/1/9   成人の日
19  2017/2/11 建国記念の日
20  2017/3/20   春分の日
21  2017/4/29   昭和の日
22  2017/5/3  憲法記念日
23  2017/5/4  みどりの日
24  2017/5/5  こどもの日
25  2017/7/17    海の日
26  2017/8/11    山の日
27  2017/9/18   敬老の日
28  2017/9/23   秋分の日
29  2017/10/9   体育の日
30  2017/11/3   文化の日
31 2017/11/23 勤労感謝の日
32 2017/12/23  天皇誕生日
33  2018/1/1     元日
34  2018/1/8   成人の日
35  2018/2/11 建国記念の日
36  2018/3/21   春分の日
37  2018/4/29   昭和の日
38  2018/5/3  憲法記念日
39  2018/5/4  みどりの日
40  2018/5/5  こどもの日
41  2018/7/16    海の日
42  2018/8/11    山の日
43  2018/9/17   敬老の日
44  2018/9/23   秋分の日
45  2018/10/8   体育の日
46  2018/11/3   文化の日
47 2018/11/23 勤労感謝の日
48 2018/12/23  天皇誕生日
 
●元のシートに戻り、A1から下方向の範囲を選択して
 
      A  B
1 2017/8/11 金
2 2017/8/12 土
3 2016/4/29 金
 
 
条件付書式:数式が▼
=COUNTIF(祝日!$A$1:$A$300,$A1)

投稿日時: 17/08/17 10:40:44
投稿者: オンバンちゃん

んなっと様
 
早速のコメントありがとうございます。
 
やはり、別シートにつくる方法しかありませんか。
 
たとえば、
 
 
      a      b     c
  
1 平成29年8月11日   金   山の日
 
2 平成28年4月29日   金   昭和の日
 
 
という表があった場合に祝日と判断させ、曜日のセルを囲むこともどうようの作業になるのでしょうか?
 

回答
投稿日時: 17/08/17 11:08:43
投稿者: んなっと

同一シートでも全く問題ありませんよ。
例えば右のほうあいている列、G:H列に祝日表を置く例。
 
      A  B C D E F      G       H
 1 2017/8/11 金        2016/1/1     元日
 2 2017/8/12 土        2016/1/11   成人の日
 3 2016/4/29 金        2016/2/11 建国記念の日
 4               2016/3/20   春分の日
 5               2016/4/29   昭和の日
 6                2016/5/3  憲法記念日
 7                2016/5/4  みどりの日
 8                2016/5/5  こどもの日
 9               2016/7/18    海の日
10               2016/8/11    山の日
11               2016/9/19   敬老の日
12               2016/9/22   秋分の日
13               2016/10/10   体育の日
14               2016/11/3   文化の日
15               2016/11/23 勤労感謝の日
16               2016/12/23  天皇誕生日
17                2017/1/1     元日
18                2017/1/9   成人の日
19               2017/2/11 建国記念の日
20               2017/3/20   春分の日
21               2017/4/29   昭和の日
22                2017/5/3  憲法記念日
23                2017/5/4  みどりの日
24                2017/5/5  こどもの日
25               2017/7/17    海の日
26               2017/8/11    山の日
27               2017/9/18   敬老の日
28               2017/9/23   秋分の日
29               2017/10/9   体育の日
30               2017/11/3   文化の日
31               2017/11/23 勤労感謝の日
32               2017/12/23  天皇誕生日
33                2018/1/1     元日
34                2018/1/8   成人の日
35               2018/2/11 建国記念の日
36               2018/3/21   春分の日
37               2018/4/29   昭和の日
38                2018/5/3  憲法記念日
39                2018/5/4  みどりの日
40                2018/5/5  こどもの日
41               2018/7/16    海の日
42               2018/8/11    山の日
43               2018/9/17   敬老の日
44               2018/9/23   秋分の日
45               2018/10/8   体育の日
46               2018/11/3   文化の日
47               2018/11/23 勤労感謝の日
48               2018/12/23  天皇誕生日
 
B1から下を選択して
条件付書式:数式が▼
=COUNTIF($G$1:$G$300,$A1)

回答
投稿日時: 17/08/17 14:39:57
投稿者: WinArrow
投稿者のウェブサイトに移動

全くの私見ですが
 
祝日表の持ち方について
 
若し、複数のブックで祝日表を参照することがあった場合(参照することを計画する場合)
 
万年化(特定の年だけではない)するような形で、別ブックに作成することを推奨します。
 
↓に祝日表作成サンプルがあります。参考にしてみては?
http://winarrow.web.fc2.com/psoft/cal/makeholiday.htm

投稿日時: 17/08/17 15:47:38
投稿者: オンバンちゃん

WinArrow様
 
サンプルをダウンロードしてみたのですが、うまく条件付きが反映しませんどのような対応が必要となるのでしょうか?

回答
投稿日時: 17/08/17 21:54:54
投稿者: WinArrow
投稿者のウェブサイトに移動

条件付き書式では、他ブックを参照できないので
少し工夫が必要です。
  
データ表の作業列を用意して、
=IF(COUNTIF('D:\xxxxxx\[休日表.xls]祝休日表'!$A$1:$A$31,A1)>0,TRUE,FALSE)
というような数式を入力します。
  
条件付き書式では、作業列セルを参照して、TRUEの場合、書式を設定するようにします。
  
もう一つ問題があります。
 休日表.xls側の「年」というセルの年を更新することです。
 利用側のブックに併せた年を手修正する必要があります。

回答
投稿日時: 17/08/18 07:33:04
投稿者: WinArrow
投稿者のウェブサイトに移動

数式を変更します。
 
COUNTIF関数は、参照している側のブックだけを開いた場合、エラーになってしまうので
Vlookup関数に変更します。
 
=IF(ISERROR(VLOOKUP(A1,'D:xxxx\[休日表.xls]祝休日表'!$A$1:$A$31,1,0)),0,1)

回答
投稿日時: 17/08/18 10:02:12
投稿者: んなっと

引用:
日付については、遡ったりすることもある
1 平成29年8月11日 金
2 平成29年8月12日 土
3 平成28年4月29日 金 ★

 
→「祝日」シート作成しましょう
 
引用:
→やはり、別シートにつくる方法しかありませんか。
たとえば、
1 平成29年8月11日 金 山の日
2 平成28年4月29日 金 昭和の日
という表があった場合に祝日と判断

 
→では、同一シート複数年の祝日表を作成しましょう。
 
という流れです。
 
オンバマスさん、まずはこの流れに沿って
書き込むようにしていただけないでしょうか。

回答
投稿日時: 17/08/18 10:45:12
投稿者: WinArrow
投稿者のウェブサイトに移動

別ファイルで祝日表を持つ場合で、複数年に対応する場合、
 
1年分の祝日表を
その下にコピペします。
追加した部分の数式を若干変更します。
 
例えば
元日は、
=DATE(年,1,1)
という数式になっていますが、
=DATE(年+1,1,1)
というように「年+1」に変更すると「年」の翌年度分が作成されます。
または、「年-1」に変更すると「年」の前年度分が作成されます。
 
他のセルの数式も同様に変更します。
いちいち手作業で変更するのが面倒だったら、変更対象範囲を選択しておいて
「置換」コマンドで一挙に変更すると間違いもなくなります。
 
お分かりと思いますが、何年分でも追加できます。
 
それから、なぜ、別ファイルをお勧めしているかというと
前レスでも書きましたが、複数のファイルで同じような表を持つと、
変更が生じた場合(近々には天皇誕生日の変更が想定される)はすべてのファイルをメンテナンスする手間が掛るからです。
もう一つは、企業として、特別な日を休みにしたいということがあれば
休日表に追加するだけで対応ができます。
例のファイルには、金融機関、行政機関用としても使えるようデザインしてあります。
 
 
 

回答
投稿日時: 17/08/18 11:52:24
投稿者: んなっと

→「祝日」シート作成しましょう

引用:
→やはり、別シートにつくる方法しかありませんか。
たとえば、
1 平成29年8月11日 金 山の日
2 平成28年4月29日 金 昭和の日
という表があった場合祝日と判断させ、
曜日のセルを囲むこともどうようの作業になるのでしょうか

→では、同一シートに
 
同じシートにすでに祝日表があるという前提の可能性が高いですね。
そこから先の手順を質問されているのかもしれません。
オンバマスさん、そうですよね?

投稿日時: 17/08/18 16:02:17
投稿者: オンバンちゃん

んなっと様
WinArrow様
 
お疲れ様です。お世話になっております。
皆様の手を煩わせてしまい大変申し訳ありませんでした。
 
皆様のおかげで解決することができました。ありがとうございました。