• ベストアンサー

エクセルで曜日が自動で入る関数。

図のA2セルに月を入れるとC3セルに曜日が入るよう関数を入れたいです。 どんな関数を入れればいいでしょうか。 祝日には赤、土曜日には青く色も変えれたら嬉しいです。 お願いします。

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

>図のA2セルに月を入れるとC3セルに曜日が入るよう関数を入れたいです。 C3セルに以下の式を入力して右方向にオートフィルしてください。 =TEXT(DATE(YEAR(TODAY()),$A$2,COLUMN(A1)),"aaa") >祝日には赤、土曜日には青く色も変えれたら嬉しいです。 日曜は色なしで土曜だけ色を付けるなら、条件付き書式で「セルの値」が「次の値に等しい」で「土」と入力します。 祝日を赤にする場合は祝日リストを作成し、条件付き書式で以下のような数式を設定します。 =COUNTIF(祝日リスト,DATE(YEAR(TODAY()),$A$2,C2)) 日曜も色付けしたいなら以下の条件付き書式を設定してください。 =WEEKDAY(DATE(YEAR(TODAY()),$A$2,C2))=1

purikopuriko
質問者

お礼

回答ありがとうございます。 関数を入れた所曜日が入りました!でもなぜ年数を入れていないのに曜日が入ったのか… もっともっと勉強します… 助かりました。ありがとうございます。

その他の回答 (5)

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.6

No.3です。 条件付き書式です。 Sheet2のA1:A18 に祝日等一覧 1.C2:AG13を選択 2.ホーム → スタイルの条件付き書式 3.新しいルール → 数式を使用して、書式設定するセルを決定 4.次の数式を満たす場合に値を書式設定に =WEEKDAY(C$2)=1 5.書式 → 塗りつぶし → 背景色を赤 6.2.~3.を繰り返し 7.次の数式を満たす場合に値を書式設定に =WEEKDAY(C$2)=7 8.書式 → 塗りつぶし → 背景色を青 9.2.~3.を繰り返し 10.次の数式を満たす場合に値を書式設定に =COUNTIF(Sheet2!$A$1:$A$18,C$2)=1 11.書式 → 塗りつぶし → 背景色を赤

purikopuriko
質問者

お礼

分かりやすい回答ありがとう御座います。 早速試してみます。 ありがとうございました。

  • yukiosato
  • ベストアンサー率42% (21/49)
回答No.5

手動で簡単にできますが・・・

purikopuriko
質問者

お礼

回答ありがとう御座います。 簡単に手動で出来るのはわかっているのですが今関数の勉強をしていましてこの場合どのような関数を使用するのか知りたかったのです。説明不足で申し訳ございません。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんばんは! >祝日には赤、土曜日には青く色も変えれたら嬉しいです というコトですので、余計なお世話かもしれませんが・・・ ついでに祝日名も一緒に表示し、色を付けるようにしてみました。 (日曜日・祝日を「赤」としています) ↓の画像(小さいと思いますので、画面を拡大してみてください)で右側がSheet2とします。 Sheet2に画像のように祝日データを作成しておきます。 (春分の日等、移動が考えられる場合は適宜変更してください) そうした上で Sheet1のA1セルに西暦年を、A2セルに月の数値を入力するとします。 画像ではC2セル(セルの表示形式はユーザー定義から d とだけにしておきます)に =IF(MONTH(DATE($A1,$A2,COLUMN(A1)))=$A2,DATE($A1,$A2,COLUMN(A1)),"") という数式をいれます。 C3セルに =IF(C2="","",TEXT(C2,"aaa")) C4セルに =IFERROR(IF(COUNTIF(Sheet2!$B1:$D21,C2),INDEX(Sheet2!$A1:$A21,SUMPRODUCT((Sheet2!$B1:$D21=C2)*ROW($A1:$A21))),""),"") という数式をそれぞれ入れておき、 C2~C4セルを範囲指定 → 条件付き書式 → 新しいルール → 数式を使用して・・・ → 数式欄に =C$3="土" として → 書式 → 塗りつぶし → 「青」を選択しOK 同じくC2~C4セルを範囲指定 → ・・・中略・・・ → 数式欄に =OR(C$3="日",C$4<>"") として → 書式 → 塗りつぶし → 「赤」を選択しOK この時点で条件付き書式の優先順位は「赤」の条件付き書式が「ルールの表示画面」の上側になるようにします。 もし「青」が上の場合は「ルールの表示画面」の右側▼や▲をクリックすれば順序が入れ替わります。 最後にC2~C4セルを範囲指定 → C4セルのフィルハンドルで31日までのAG列までコピーすると 画像のような感じになります。 長々と失礼しました。m(_ _)m

purikopuriko
質問者

お礼

分かりやすい回答ありがとう御座います。 かなり細かく書いてくださって助かります。 早速試してみます。 ありがとうございました。

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.3

A2に 2014 B2に年 A3に 3   B3に月 C2に =DATE(A2,A3,1) D2に =IF(C2="","",IF(DAY(C2+1)=1,"",C2+1)) C2とD2の表示形式 → ユーザー定義種類にd D2をAG2までオートフィル C3に =C2 C2の表示形式 → ユーザー定義種類にaaa C3をAG3までオートフィル とりあえず 日付と曜日のみ

purikopuriko
質問者

お礼

分かりやすい回答ありがとう御座います。 画像付きで見やすく助かります。 ありがとうございました。

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

>図のA2セルに月を入れるとC3セルに曜日が入るよう関数を入れたいです。 要件が足りません。 月と日だけでは曜日が決められません。 年の値はどうするのですか? >どんな関数を入れればいいでしょうか。 C3の値が年月日を示すシリアル値(1900/1/1=1とした経過日数)にして表示形式を aaa にすれば曜日の1字が表示されます。 関数で文字列にしたいときは次のようにすれば良いでしょう。 C3=TEXT(日付のシリアル値,"aaa") → 日、月、火、水、木、金、土の何れか C3=TEXT(日付のシリアル値,"aaaa") → 日曜日、月曜日、火曜日、水曜日、木曜日、金曜日、土曜日の何れか 例(今日は木曜日) C3=TEXT(TODAY(),"aaaa") → 木曜日

purikopuriko
質問者

お礼

要件不足で申し訳ございません。 年数が分からなければ確かに曜日も分かりませんよね… 回答頂いた方の関数を入力した所年数を入れていないのに曜日が入りました。 なぜ曜日が入ったのかもっと詳しく勉強してみます。 ありがとうございました。

関連するQ&A