• ベストアンサー

エクセル関数で教えてもらいたいです。会社のあるスケ

エクセル関数で教えてもらいたいです。会社のあるスケジュール表をみたんですが、写真のようなweekdayという関数を使ってます。 これは私が書かれていたのを再現したものですが、日付が書かれているB列をC列でweekdayで読みにいって、数字じゃなく曜日を出していました。 しかも、土曜日は青色、日曜日と祝日は赤色になるようになんかしています。5列に対し色の反転を起こしてます。 マクロは使ってないと思います。 これどんなアルゴリズムでやってるんですか?

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

  • ベストアンサー
  • chayamati
  • ベストアンサー率41% (260/624)
回答No.2

>写真のようなweekdayという関数を使ってます。 >日付が書かれているB列をC列でweekdayで読みにいって、 (1)その通りですね >数字じゃなく曜日を出していました。 (2)スケジュール表の表示形式がユーザー定義 aaa になっています  添付を参考にして下さい  曜日のセルをアクティブにして、数式欄はB列と同じ値です。 >土曜日は青色、日曜日と祝日は赤色になるようになんかしています。 (3)土日の色は条件付き書式で処理されていると思いますが  祝日は日本の年間の祝祭日一覧をどこかで記録していると思いますが  この仕組みが振替休日、第N月曜日等があり大変複雑です。  5月1日に新元号になり、これの対応も必要ですね >5列に対し色の反転を起こしてます。 (4)反転の規則性が分りません、単なるセルの背景色ではないでしょうか >マクロは使ってないと思います。 (5)そうですね、ファイルを閉じるときに確認できます

yahoomode
質問者

お礼

ありがとうございますためになりました

その他の回答 (2)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.3

>会社のあるスケジュール表をみたんですが、写真のようなweekdayという関数を使ってます。 作成した人に確認されたら如何ですか? WEEKDAY関数だけでは目的通りになりませんので他の関数や条件付き表示形式を使う必要があるはずです。 >これどんなアルゴリズムでやってるんですか? G列に今年の祝日一覧があるとすれば次の数式をC3セルに設定して下へ必要数コピーすれば対応する曜日または祝日という文字が表示されます。 =IF(COUNTIF(G:G,B3),"祝日",TEXT(B3,"aaaa")) セルの塗り潰しは条件付き書式で処理できます。 例えばB3:F29を選択して条件付き書式で数式指定にし、土曜日を青、日曜日と祝日を赤で塗りつぶす設定を行ないます。 =$C3="土曜日" → 青の塗りつぶし =OR($C3="日曜日",$C3="祝日") → 赤の塗りつぶし

yahoomode
質問者

お礼

ありがとうございます勉強になりました

  • kon555
  • ベストアンサー率51% (1842/3559)
回答No.1

weekday関数の結果を表示形式で変更しているんだと思いますよ。 https://www.officepro.jp/excelfunc/date/index9.html セルの色については「条件付書式」でしょうね。 https://forest.watch.impress.co.jp/docs/serial/exceltips/1059891.html 日付系の表では基本的だけど便利なテクニックなので覚えておきましょう。

yahoomode
質問者

お礼

ありがとうございます、参考にします