『カレンダーを作りたい』(初心者)   ○○月 日付12345678910・・・・・・31 曜日日月火水木金土・・・・・・・・・・ 上のような様式で月を入力するだけで曜日が変わるカレンダーを作りたいのですが。 ---- A1に月を表示するとして、書式を「m"月"」とします。 入力は、例えば「10/1」と、月初めの月日を入れます。 第2行に日を表示するとして、書式を「d」とします。 A2セルに、計算式を「=A1」と入力します。 B2セルに、計算式を「=A2+1」と入力し、この式をC2セルから右側にドラッグしてコピー。 第3行に曜日を表示するとして、書式を「aaa」とします。 A3セルに、計算式を「=A2」と入力し、この式をB3セルから右側にドラッグしてコピー。 こんなんで如何でしょう。(たく) ---- カレンダーの日付、曜日を月指定で表示させる例 A1に西暦4桁数字を入力し、「セルの書式設定の表示形式「ユーザー定義」で 0年 と入力します。 B1を選択して、データメニューの「入力規則」で入力の種類を[リスト]とし、元の値に 1,2,3,4,5,6,7,8,9,10,11,12 と入力しOk A2に日付、A3に曜日と入力します。 B2に =DATE(A1,B1,1) と入力します。「セルの書式設定・表示形式・ユーザー定義」で d とします。 C2に =B2+1 と入力しAC2までコピーします。 AD2に =IF(MONTH(AC2+1)>$B$1,"",AC2+1) と入力します。 AE2に =IF(AD2="","",IF(MONTH(AD2+1)>$B$1,"",AD2+1)) と入力しAF2にコピーします。 B3に =TEXT(B2,"aaa") と入力し、AF2までコピーします。 「土曜日を青色、日曜日を赤色にするには」 B2:AF3を選択し、書式メニューの条件付き書式で 条件1 [数式が]式は =TEXT(B$3,"aaa")="土" とし、[書式]でフォント色を「青」で太字にします。OK 追加をクリックして 条件2 [数式が]式は =TEXT(B$3,"aaa")="日" とし、[書式]でフォント色を「赤」で太字にします。OK これで、B1で月をリスト選択すれば、その月の日付と曜日が表示されます。 (シニア) ---- 表示形式を変更しないタイプで考えてみました。 A B C ... 1 2 月 2 日付 3 曜日 4 とあったとき、 B2に =IF(MONTH(DATE(YEAR(TODAY()),$A$1,COLUMN()-1))=$A$1,DAY(DATE(YEAR(TODAY()),$A$1,COLUMN()-1)),"") B3に =IF(B$2="","",MID("日月火水木金土",WEEKDAY(DATE(YEAR(TODAY()),$A$1,B$2)),1)) 例ではA1には数字で2と入力、今年の2月です。 今年の12月に1と入力しても、来年の1月ではなく今年の1月ですから どこかに年を入力する欄を設けたほうがいいですね。 (ramrun)お昼〜 ---- B2、B3の数式はAFまでフィルしてください。 ↑B3の数式間違いで更に訂正(汗)。 (ramrun)書き忘れ(汗) ---- いろいろな回答がありますが,また重複した回答かもしれませんが。(なお) A1に 2003 のように年度 A2に 8 のように月 3行目にA3から右に 1,2,3 と日数があるとします。 日数の下(4行目)に曜日を表示します。 方法 1)日数の下(4行目)のA4に下記式を入れます。 =VALUE($A$1 & "/" & $A$2 & "/" & A3) 2) このセルを,書式設定で表示形式を,ユーザ定義の aaa または aaaa と 設定(入力)します。 3) これを,右に31日の曜日に所まで,コピーします。 以上で,曜日が自動表示されます。年,月を変更すれば,変化します。 ---- カレンダーの作成で、A列に1.2.3と日数、B列に曜日としたいのですが。 (ramrun)さんの式を参考に試みましたが、上手くいきません。(QS) ---- ◆少し、変更しました!(「年」を入力するようにしました!)   A    B  C   D   E   F ・・・・・ AA AB AC AD AE AF 1 2006  年  2  月 2 日付  1   2   3   4   5 ・・・・・ 26  27  28  **  **  ** 3 曜日  水  木  金  土  日 ・・・・・ 日  月  火  **  **  ** ◆A1に「年」を手入力します! ◆C1に「月」を入力します! ◆1日の式 B2=DATE(A1,C1,1) ★表示形式をユーザー定義で、 d にします! ◆2日の式 C2=IF(B2="**",B2,IF(MONTH(B2)=MONTH(B2+1),B2+1,"**")) ★表示形式をユーザー定義で、 d にして、右へAF2まで式をコピー ◆1日の曜日の式 B3=B2 ★表示形式をユーザー定義で、 aaa にして、右へAF3まで式をコピー ◆これで、C1の「月を入力するだけで曜日が変わるカレンダーを作れます!」 ◆いかがでしょうか! (Maron) ---- ramrunさんの式は最初の相談者の例示のように右方向へコピーしていくものですから、 それをそのまま使用してもうまくいかないでしょう。 また、表示したいのが何月かを入力するセルも必要ですね。仮にA1へ月を入力し、2行 目から式入力するとして A2 =IF(MONTH(DATE(YEAR(TODAY()),$A$1,ROW(A1)))=$A$1,DAY(DATE(YEAR(TODAY()),$A$1,ROW(A1))),"") B2 =IF($A2="","",MID("日月火水木金土",WEEKDAY(DATE(YEAR(TODAY()),$A$1,$A2)),1)) (みやほりん)(-_∂)b ----- よこやり失礼します。以前作ったのですがこんなのはどうでしょう? 上記とかぶっているところもありますが、参考までに。 数式を入れるセルの配置は適当に換えてください。 <月入力> B3=表示したい月の1日の日付(たとえば2006年1月なら2006/1/1) 表示形式をユーザー定義でM"月"。 B4=EOMONTH(B3,0) 表示させたくなければ文字色を白等に変更。 <カレンダー表示(縦タイプ)> B10=B3 日付だけの表示なら表示形式をdに変更 B11=B10+1 B37までこの数式をオートフィル。(28日まで) B38=IF(B4=B37,"",IF(B37="","",B37+1)) B40までこの数式をオートフィル(31日まで) ★この数式を入れることで月の終わりが変動(28〜31日)しても対応できます。 <曜日表示> D10=TEXT(B10,"ddd") 曜日を表示させます ちなみに"ddd"だと英字省略表記(sun)、"ddddd"なら英字フル表記(sunday) "aaa"なら日本語省略表記(月)"aaaaa"なら日本語フル表記(月曜日)となります。 D40までこの数式をコピー これでB3に日付をいれるだけで自動的にカレンダーが作成されます。いかがでしょうか? 私はこれに加えて条件書式で土日に色をつけたりしております (kizuna)