- ベストアンサー
エクセルで曜日が自動で入る関数。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
>図の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
その他の回答 (5)
- gyouda1114
- ベストアンサー率37% (499/1320)
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.書式 → 塗りつぶし → 背景色を赤
お礼
分かりやすい回答ありがとう御座います。 早速試してみます。 ありがとうございました。
- yukiosato
- ベストアンサー率42% (21/49)
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! >祝日には赤、土曜日には青く色も変えれたら嬉しいです というコトですので、余計なお世話かもしれませんが・・・ ついでに祝日名も一緒に表示し、色を付けるようにしてみました。 (日曜日・祝日を「赤」としています) ↓の画像(小さいと思いますので、画面を拡大してみてください)で右側が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
お礼
分かりやすい回答ありがとう御座います。 かなり細かく書いてくださって助かります。 早速試してみます。 ありがとうございました。
- gyouda1114
- ベストアンサー率37% (499/1320)
- bunjii
- ベストアンサー率43% (3589/8249)
>図のA2セルに月を入れるとC3セルに曜日が入るよう関数を入れたいです。 要件が足りません。 月と日だけでは曜日が決められません。 年の値はどうするのですか? >どんな関数を入れればいいでしょうか。 C3の値が年月日を示すシリアル値(1900/1/1=1とした経過日数)にして表示形式を aaa にすれば曜日の1字が表示されます。 関数で文字列にしたいときは次のようにすれば良いでしょう。 C3=TEXT(日付のシリアル値,"aaa") → 日、月、火、水、木、金、土の何れか C3=TEXT(日付のシリアル値,"aaaa") → 日曜日、月曜日、火曜日、水曜日、木曜日、金曜日、土曜日の何れか 例(今日は木曜日) C3=TEXT(TODAY(),"aaaa") → 木曜日
お礼
要件不足で申し訳ございません。 年数が分からなければ確かに曜日も分かりませんよね… 回答頂いた方の関数を入力した所年数を入れていないのに曜日が入りました。 なぜ曜日が入ったのかもっと詳しく勉強してみます。 ありがとうございました。
お礼
回答ありがとうございます。 関数を入れた所曜日が入りました!でもなぜ年数を入れていないのに曜日が入ったのか… もっともっと勉強します… 助かりました。ありがとうございます。