【先着1,000名様!】1,000円分をプレゼント!

先程、Excelで日付・曜日を自動で表示させる方法を質問したのですが、
本当に何度もすみません、これが最後です。

土日祝にあたる日付と曜日を赤字で表示させなければいけないのですが
手で毎回赤字に変更するのは、大変面倒なので、
出来ればこれも自動でできないものかと思うのですが・・。
具体的には以下の通りです。

現在、Excelで以下を表示させています
---------------------------
A1セル:年
A2セル:月
A3セル~A33セル:日付
B3セル~B33セル:曜日
---------------------------

A1セルは、年号を手入力
A2セルも、月を手入力
A3セル~A33セルは、以下の式を入力し、日付を自動表示
=IF(MONTH(DATE($A$1,$A$2,ROW()-2))=$A$2,TEXT(DATE($A$1,$A$2,ROW()-2),"m/d"),"")
B3セル~B33セルは、以下の式を入力し、曜日を自動表示
=IF($A3<>"",MID("日月火水木金土",WEEKDAY($A3),1),"")

現在は、上記のような状態で、年月日と曜日を表示させているのですが、
土日祝を自動的に取得し、日付と曜日を赤字で表示されるようにする事は
できますでしょうか?
祝日が無理なら土日だけでも赤字で自動表示させたいのですが・・。

よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

 土日の赤表示はすでに解決済みのことと思いますので、祝休日の赤表示方法についてご説明します。


 エクセルでの祝日認識は、いつが祝日になるかを入力して認識させなければなりません。とても面倒です。
 以下、祝日・振り替え休日、国民の休日に関するデータの入力方法について説明します。
 とても長くなります。
 宿休日の定義は、平成15年より、1月1日、1月第2月曜、2月11日、春分日、4月29日、5月3日、5月5日、7月第3月曜、9月第3月曜、秋分日、10月第2月曜、11月3日、11月23日、12月23日です。上記日付が日曜に該当する場合、元旦振替休日、成人の日振替休日、建国記念の日振替休日、春分の日振替休日、みどりの日振替休日、憲法記念日振替休日、こどもの日振替休日、海の日振替休日、敬老の日振替休日、秋分の日振替休日、体育の日振替休日、文化の日振替休日、勤労感謝の日振替休日、天皇誕生日振替休日が出てきます。憲法記念日の翌日が火~金、秋分の日が第3週の水曜日である場合の前日の2つに該当すると、国民の休日が現れます。
 さて、計算式です。A1に西暦年に該当する4桁の数値が入力されており、上記祝休日がA6以降のA列に順に入っているものとします。
 祝日です。前から順番に、
=DATE($A$1,1,1)
=DATE($A$1,1,14-WEEKDAY(DATE($A$1,1,0),3))
=DATE($A$1,2,11)
春分の日は、その年で日付が異なるので、1851~2150年まで対応可能な簡易計算式を載せます。
=DATE($A$1,3,INT(IF(AND($A$1>=1851,$A$1<1900),19.8277,IF($A$1<1980,20.8357,IF($A$1<2100,20.8431,IF($A$1<2151,21.851,""))))+0.242194*($A$1-1980)-INT(($A$1-IF(AND($A$1>=1851,$A$1<1980),1983,IF($A$1<2151,1980,"")))/4)))
=DATE($A$1,4,29)
=DATE($A$1,5,3)
=DATE($A$1,5,5)
=DATE($A$1,7,21-WEEKDAY(DATE($A$1,7,0),3))
=DATE($A$1,9,21-WEEKDAY(DATE($A$1,9,0),3))
秋分の日も、春分の日と同様の処理です。
=DATE($A$1,9,INT(IF(AND($A$1>=1851,$A$1<1900),22.2588,IF($A$1<1980,23.2588,IF($A$1<2100,23.2488,IF($A$1<2151,24.2488,""))))+0.242194*($A$1-1980)-INT(($A$1-IF(AND($A$1>=1851,$A$1<1980),1983,IF($A$1<2151,1980,"")))/4)))
=DATE($A$1,10,14-WEEKDAY(DATE($A$1,10,0),3))
=DATE($A$1,11,3)
=DATE($A$1,11,23)
=DATE($A$1,12,23)
 振り替え休日です。
=IF(WEEKDAY(A6)=1,A2+1,"-")
=IF(WEEKDAY(A9)=1,A9+1,"-")
=IF(WEEKDAY(A10)=1,A10+1,"-")
=IF(WEEKDAY(A11)=1,A11+1,"-")
=IF(WEEKDAY(A12)=1,A12+1,"-")
=IF(WEEKDAY(A13)=1,A13+1,"-")
=IF(WEEKDAY(A14)=1,A14+1,"-")
=IF(WEEKDAY(A15)=1,A15+1,"-")
=IF(WEEKDAY(A16)=1,A16+1,"-")
=IF(WEEKDAY(A17)=1,A17+1,"-")
=IF(WEEKDAY(A18)=1,A18+1,"-")
=IF(WEEKDAY(A19)=1,A19+1,"-")
=IF(WEEKDAY(A20)=1,A20+1,"-")
=IF(WEEKDAY(A21)=1,A21+1,"-")
国民の休日です。
=IF(WEEKDAY(DATE($A$1,5,3),3)<5,DATE($A$1,5,4),"-")
=IF(WEEKDAY($A$17,3)=2,$A$17-1,"-")
以上でその年の祝休日を表すことができました。翌年の祝休日は、上記式の$A$1に、+1をすることで対処できます。
 それらの一覧表の範囲に名前を付けます。例えば"祝休日一覧表"などと。名前の設定は説明しません。
 次に、カレンダーの日付表示部分のセルに、条件付き書式設定をします。なお、日付のセルには、シリアル値(年月日)が入力されている必要があります。
 祝日は最も優先される事項で扱うので、条件1に設定します。そこに、=COUNTIF(祝休日一覧表,日付が入力されているセル番地)=1と入力し、条件に合致した書式を赤になるようにします。
 該当する日が祝休日なら、赤く表示されるはずです。
 
 
    • good
    • 0

A3からA33を範囲指定した上で、書式→条件付書式と開いて、「条件(1)」を「数式が」にして「=WEEKDAY(A3)=1」のときに文字列が赤くなるように設定。

続いて「条件(2)」
を「数式が」「=WEEKDAY(A3)=7」の時に文字列が青くなるように設定。B3からB33も同様に。

参考URL:http://www.okweb.ne.jp/kotaeru.php3?q=342987
    • good
    • 0

そうくると思って


http://www.okweb.ne.jp/kotaeru.php3?q=563212
でお答えしておいたつもりですが。

この回答への補足

すみません、以下の部分がそうだったんですね

>表示は条件付書式で
>「数式が」を「=weekday(A1,1)=1」のときに赤
>「=weekday(A1,1)=7」のときに青

条件付書式という意味がわからなかったので、
また勉強しようと、分からないままにしていましたので
気づきませんでした・・。
本当に申し訳ありません。

条件付書式というのは、どういう風に書けばいいのでしょうか・・?
何度もすみません・・・。

補足日時:2003/06/01 17:28
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセル ある条件でセルの塗りつぶし。

エクセルを勉強中の初心者です。
あるセルに数値がある場合に、隣の空白セルを特定の色で塗りつぶしたい。

例えば黄色に塗りつぶした空白セルをコピーして他のセルに貼り付けると、貼り付けたセルは黄色になります。

やりたいことは、B2に数値がある場合にC2を塗りつぶしたいので、次のようにやってみました。

予め空白のE1を黄色にしておく。
C2に以下の式を入れましたが、黄色のE1を貼り付けることにはなりませんでした。
=IF(B2="","",E1)

関数式はあくまでも数値を扱うもので、根本的に間違っていたようです。

ある条件であるセルを塗りつぶすにはどうすればよろしいでしょうか?
よろしくお願いします。

Aベストアンサー

こんばんは!

数式によって「書式」は表示できませんので、
今回の質問の場合には「条件付き書式」を使います。

お使いのExcelのバージョンが判りませんが・・・

Excel2007以降の場合は
C2セルを選択 → ホーム → 条件付き書式 → 新しいルール → 「数式を使用して・・・」を選択 → 数式欄に
=B2<>""
という数式を入れ → 書式 → 「塗りつぶし」 → 好みの色(黄色)を選択しOK

Excel2003以前の場合
C2セルを選択 → メニュー → 書式 → 条件付き書式 → 「数式が」を選択 → 数式欄に
=B2<>""
とし → 書式 → パターン → 好みの色を選択しOK

これで大丈夫だと思います。m(_ _)m

Qexcelからexcelへの差し込み印刷

お世話になります。

excelでwordへの差し込み印刷をよく利用するのですが、
同様に、
excelのデータをexcelに流し込んで印刷する方法はありますでしょうか。

excelの名簿のデータを
excelの表のフォーマットに流し込んで
1人づつ印刷したいのですが。

お分かりの方いらっしゃいました教えてください。
どうぞ宜しくお願い致します。

Aベストアンサー

イメージはわかるが、エクセルに差込印刷の機能はありません。
ワードなどと違ってA.X氏1人分書類シート作成、B印刷、Aのシートををy氏分のデータでシート内容(セル)を置き換え、印刷、の繰り返しをします。
ーー
例データ Sheet1 A1;D3
連番氏名住所品物
1山田 三郎東京都江東区かばん
2植田 健横浜市港北区帽子
A列はこのたび連番を振りました。
Sheet2   に送り状の書式を体裁よく作ります。
H1セル(どこでも良いが、下記のVLOOKUPの式は変わる)

送り状

住所X
氏名Y

品物Z

上記の品をお送り申し上げます。
ご査収ください

以上
Xの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,2,FALSE)
Yの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,3,FALSE)
Zの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,4,FALSE)

---
結果

送り状

住所山田 三郎
氏名東京都江東区

品物かばん

上記の品をお送り申し上げます。
ご査収ください

以上
ここで
VBE画面で標準モジュールに
Sub test01()
For i = 1 To 2 '人数分
Range("H1") = i
Range("A1:G20").PrintOut '印刷範囲は各人同じとする
Next i
End Sub
を張り付け、実行する。
山田、植田分の紙が2枚印刷されました。
これは質問者はVBAの経験も無いでしょうと、最低限にしてあります。
VBAを勉強してください。
別ブックにある名簿を対象などは複雑になるので避けています。

イメージはわかるが、エクセルに差込印刷の機能はありません。
ワードなどと違ってA.X氏1人分書類シート作成、B印刷、Aのシートををy氏分のデータでシート内容(セル)を置き換え、印刷、の繰り返しをします。
ーー
例データ Sheet1 A1;D3
連番氏名住所品物
1山田 三郎東京都江東区かばん
2植田 健横浜市港北区帽子
A列はこのたび連番を振りました。
Sheet2   に送り状の書式を体裁よく作ります。
H1セル(どこでも良いが、下記のVLOOKUPの式は変わる)

送り状

住所X
氏名Y

品物Z

...続きを読む

Q残業時間の計算をするにはどのような関数あるいは計算式を設定すればいいの

残業時間の計算をするにはどのような関数あるいは計算式を設定すればいいのですか?
私、エクセルについてはまったくの初心者です。よろしくお願いします。

(例)
       A      B
 
1行目 出勤時間  9:00

2行目 退社時間  19:30

3行目 残業時間  2:00 ←ここの計算式を教えていただきたいのです。

             ※ ただし、定時の終了時間は17:30で、拘束時間は休憩時間を含めて
               8:30とした場合でお願いします。

Aベストアンサー

勤務時間=退社時間-出勤時間
残業時間=勤務時間-8:30
で数式を組み立てると

残業時間 B3=IF(OR(B1>0,B2>B1),MAX(B2-B1-"8:30",0),"")

時間を30分単位で切り捨てにする場合
残業時間 B3=IF(OR(B1>0,B2>B1),FLOOR(MAX(B2-B1-"8:30",0),"0:30"*1),"")


このカテゴリの人気Q&Aランキング