重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

エクセルの質問です。
土曜日は”*”日曜日は”#”、日曜日と祭日の間は”&”、という記号を出力してなおかつセルにそれぞれ色をつけたいのです。下記のような表を作成するにはどのようにしたらいいのでしょうか?

土曜日”*”、日曜日”#”、祝祭日”#”ならできるのですが、日曜日と祭日に挟まれた日(休休日とでもいうのでしょうか?)に”&”の記号を出力させることがどうしてもできません。
どなたかいい方法があれば教えていたけませんでしょうか?

2010年
セルAに日付
セルBに曜日
セルCに記号

5月1日 土 *
5月2日 日 #
5月3日 月 &
5月4日 火 &
5月5日 水 #

祝祭日は下記のようなテーブルを作りまして、CのセルにIF(OR(B1="日",COUNTIF(祝祭日の範囲,A14)>0),"#",IF(B1="土","*",""))とすると5月3日、4日、5日も当然"#"になってしまうのです。

祝祭日のテーブル
1月1日元旦
1月11日成人の日
2月11日建国記念の日
3月21日春分の日
3月22日振替休日
4月29日昭和の日
5月3日憲法記念日
5月4日みどりの日
5月5日こどもの日
7月19日海の日
9月20日敬老の日
9月23日秋分の日
10月11日体育の日
11月3日文化の日
11月23日勤労感謝の日
12月23日天皇誕生日

よろしくお願いします。

A 回答 (5件)

if(and(or(一つ前のセル="#",一つ前のセル="*"),or(一つ後のセル="#",一つ後のセル="*")),"&",IF(OR(B1="日",COUNTIF(祝祭日の範囲,A14)>0),"#",IF(B1="土","*","")))



上に式は、#、*、&、の表示したい部分に入力します。

if(                   全体IFのスタート
and(                 前及び後のセルが、共に成り立つなら
or(一つ前のセル="#",一つ前のセル="*"),  一つ前のセルが、#、*、どちらかなら
or(一つ後のセル="#",一つ後のセル="*")   一つ後のセルが、#、*、どちらかなら
),                   AND 式の終了
"&",                  成立する場合 &
IF(OR(B1="日",COUNTIF(祝祭日の範囲,A14)>0),"#",IF(B1="土","*",""))
) 全体の終わり
    • good
    • 0

 取り敢えず、祭日と日曜日は共に"#"と表示し、前日が祭日の土曜日の日と次の日が祭日の月曜日の日は共に"&"と表示し、普通の土曜日は"*"と表示し、それ以外の日は何も表示しないものと理解しました。



 今仮に、A1セルに年が入力されていて、A3セルに日付が"○月×日"という形式の文字列データ(日付データではない)で入力されていて、B3セルに曜日、C3セルに記号が自動的に表示されるものとします。
 まず、B3セルの書式設定の表示形式の分類を[ユーザー定義]に、種類を

aaa

にして下さい。
 次に、B3セルに次の数式を入力して下さい。

=DATEVALUE($A$1&A3)

 尚、A3セルに入力する日付のデータ形式が文字列ではなく、日付である場合には、B1セルに入力する数式を次の様にして下さい。

=A3

 そして、C3セルに次の数式を入力して下さい。

=IF(OR(WEEKDAY(B3)=1,COUNTIF(祝祭日の範囲,B3)),"#",IF(WEEKDAY(B3)=7,IF(COUNTIF(祝祭日の範囲,B3-1),"&","*"),IF(AND(WEEKDAY(B3)=2,COUNTIF(祝祭日の範囲,B3+1)),"&","")))
 以上で完成です。

 尚、御質問文中にある祝祭日のテーブル内に、「振替休日」がありましたので、上記の数式では、振替休日であるか否かの判定は、祝祭日のテーブルにおける日付の有無で判定しているだけで、振替休日の日付を計算では求めておりません。
    • good
    • 0

ご自分で何をしたいのか今一度整理することお勧めします。



・「日曜日と祭日の間」は月曜日以外の曜日は該当しますか?またその日は平日を指すのですか?
・「土曜日は”*”日曜日は”#”、日曜日と祭日の間は”&”、という記号を出力」「土曜日”*”、日曜日”#”、祝祭日”#”ならできる」とのことですが、「祭日」はどの記号を表示したいのですか?


質問文を拝見すると該当日になりうるのは5月と9月だけのように思います。祝祭日テーブルはどのようにして作成していますか?手作業でつくっているなら、同様(手作業で)にして今質問の該当日をリストするほうが容易かもしれません。
    • good
    • 0

すみません


or(一つ前のセル=#,一つ前のセル=*,一つ前のセル=&)
及び
or(一つ後のセル=#,一つ後のセル=*,一つ後のセル=&)
のように、& 部分の式を、追加してください。
ごめんなさい
    • good
    • 0

>土曜日は”*”日曜日は”#”、日曜日と祭日の間は”&”、という記号を出力してなおかつセルにそれぞれ色をつけたいのです。


  ・
  ・
>5月1日 土 *
>5月2日 日 #
>5月3日 月 &
>5月4日 火 &
>5月5日 水 #

まず確認ですが、5月4日は日曜日と祭日の間ではないと思うのですが・・・

また、上記のA列の日付は連続して入力されているのでしょうか?

日付が連続的に入力されており日曜または休日に挟まれている場合に&と表示したいなら、上下のセルがいずれも日曜または休日なら&を表示するIF関数を最優先順位とする数式を作成すれば良いと思います。

さらに、上記の条件なら休日と休日の間に挟まれた日曜はどのように表示するのでしょうか?

いずれにしろ、優先順位を含めて、もう少し明確に表示条件を提示してください。
    • good
    • 0

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