• ベストアンサー

「月」を入力し「日」「曜日」を表示したい

エクセル2007を使用しています。 エクセルで表を作りたいのですが、表示したいのは、 ・年と月(1箇所) ・すべての日と曜日 です。 できれば、「月」だけ変更すれば、「日」「曜日」が連動して変わるように できたら最高です。 アドバイスお願いします。

  • taaroo
  • お礼率92% (499/542)

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

  • ベストアンサー
  • maron--5
  • ベストアンサー率36% (321/877)
回答No.3

◆サンプルですので、参考にしてください 【予定表の作成】 1)祝日一覧を作成して、「祝日」と一覧に名前を付けます 2)A1に「西暦年」、A2に「月」を入力します 3)【1日の入力】A5に、=if(COUNT(A1,A2)<2,"",DATE(A1,A2,1)) と入力して、 4)マウスを右クリックして、「ショートカットメニュー」の「セルの書式設定」を選択して 5)「表示形式」→「ユーザー定義」にして「種類」に、 d と入力します 6)【2日~の入力】A6に、=IF(A5="","",IF(MONTH(A5+1)=$A$2,A5+1,"")) と入力して、ユーザー定義で、 d として下にコピー 7)【曜日】B5に、=A5 と入力して、ユーザー定義で、 aaaまたは、(aaa) と入力して、下にコピー 【土日祝日の色づけ】(EXCEL2007以降) 8)A5:C35の範囲を指定して、リボンの「ホーム」タブ→「スタイル」グループ→「条件付き書式」ボタンを選択して、 9)「新しいルール」→「数式を使用して、書式設定するセルを決定する」の「次の数式を満たす場合に値を書式設定」に 10)=WEEKDAY($A5)=7 と入力して、 11)右下の「書式」をクリックして、「塗りつぶし」で「青色」指定して、OK 12)もう一度、手順8)~9)を行い、=OR(WEEKDAY($A5)=1,COUNTIF(祝日,$A5)) と入力して、 13)右下の「書式」をクリックして、「塗りつぶし」で「赤色」指定して、OK ※EXCEL2003以前は、 【土日祝日の色づけ】 8)A5:C35の範囲を指定して、メニューバーの「書式」→「条件付き書式」を選択して、 9)条件1の下の「セルの値が」を「数式が」に変えて、その右に 10)=WEEKDAY($A5)=7 と入力して、 11)右の「書式」をクリックして、「パターン」で「青色」指定して、OK 12)もう一度、手順8)~9)を行い、=OR(WEEKDAY($A5)=1,COUNTIF(祝日,$A5)) と入力して、 13)右の「書式」をクリックして、「パターン」で「赤色」指定して、OK ◆2月は28日まで表示され、もちろん3月は31日まで表示されます

taaroo
質問者

お礼

ありがとうございました。 最高です

その他の回答 (4)

  • be_silent
  • ベストアンサー率39% (117/300)
回答No.5

一例ですが、参考にして下さい。 ワークエリアを使わないで関数のみで行う方法ですが スッキリする反面、少々面倒臭いです。 A1に表示させる年月の「平成 23 年 3 月」というように 間にスペースを入れて入力します。 以下をそれぞれのセルにコピペする A2="1("&MID("月火水木金土日",MOD(WEEKDAY(DATE(MID(TRIM(A1),4,2)+1988,MID(TRIM(A1),9,2),1),3)+0,7)+1,1)&")" B2="2("&MID("月火水木金土日",MOD(WEEKDAY(DATE(MID(TRIM(A1),4,2)+1988,MID(TRIM(A1),9,2),1),3)+1,7)+1,1)&")" C2="3("&MID("月火水木金土日",MOD(WEEKDAY(DATE(MID(TRIM(A1),4,2)+1988,MID(TRIM(A1),9,2),1),3)+2,7)+1,1)&")" D2="4("&MID("月火水木金土日",MOD(WEEKDAY(DATE(MID(TRIM(A1),4,2)+1988,MID(TRIM(A1),9,2),1),3)+3,7)+1,1)&")" E2="5("&MID("月火水木金土日",MOD(WEEKDAY(DATE(MID(TRIM(A1),4,2)+1988,MID(TRIM(A1),9,2),1),3)+4,7)+1,1)&")" F2="6("&MID("月火水木金土日",MOD(WEEKDAY(DATE(MID(TRIM(A1),4,2)+1988,MID(TRIM(A1),9,2),1),3)+5,7)+1,1)&")" G2="7("&MID("月火水木金土日",MOD(WEEKDAY(DATE(MID(TRIM(A1),4,2)+1988,MID(TRIM(A1),9,2),1),3)+6,7)+1,1)&")" H2="8("&MID("月火水木金土日",MOD(WEEKDAY(DATE(MID(TRIM(A1),4,2)+1988,MID(TRIM(A1),9,2),1),3)+0,7)+1,1)&")" セル=”*( この*の部分が日付になります。 例:D2="4(" 4日 これを28日までドラッグしてあげればご希望の動作が実現し、 29日にあたるAC2セルに =IF(DATE(MID(TRIM(A1),4,2)+1988,MID(TRIM(A1),9,2)+1,1)-DATE(MID(TRIM(A1),4,2)+1988,MID(TRIM(A1),9,2),1)>=29,"29("&MID("月火水木金土日",MOD(WEEKDAY(DATE(MID(TRIM(A1),4,2)+1988,MID(TRIM(A1),9,2),1),3)+0,7)+1,1)&")","") 30にあたるAD2セルに =IF(DATE(MID(TRIM(A1),4,2)+1988,MID(TRIM(A1),9,2)+1,1)-DATE(MID(TRIM(A1),4,2)+1988,MID(TRIM(A1),9,2),1)>=30,"30("&MID("月火水木金土日",MOD(WEEKDAY(DATE(MID(TRIM(A1),4,2)+1988,MID(TRIM(A1),9,2),1),3)+1,7)+1,1)&")","") 31日にあたるAE2セルに =IF(DATE(MID(TRIM(A1),4,2)+1988,MID(TRIM(A1),9,2)+1,1)-DATE(MID(TRIM(A1),4,2)+1988,MID(TRIM(A1),9,2),1)>=30,"30("&MID("月火水木金土日",MOD(WEEKDAY(DATE(MID(TRIM(A1),4,2)+1988,MID(TRIM(A1),9,2),1),3)+1,7)+1,1)&")","") 全てコピペします。 これで、A1を修正するだけで全ての曜日と、月に存在しない(2月ならば29~31日)は非表示に 出来ます。 ご参考までに。

taaroo
質問者

お礼

ありがとうございました。 今回は他の方のを使用しましたが、参考にさせていただきます。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

曜日を算出してくれる関数はWEEKDAY関数で、日付シリアル値という1900年来の実際経過日数を指定しないと計算してくれない仕組みなのだ。 ほとんどの日付エクセル関数がこうなっているのだ。 日付シリアル値のことを知らないから、こんな質問になっているが、エクセルでは大切な点だ。 詳しくはGoogleででも照会して。 ーー そして年、月、日が決ると日付が決るのだが、その日付シリアル値はどうして算出してくれるかと言うと、 DATE関数かDATEVALUE関数だ 前者は年、月、日を数字で並べる=DATE(2010,12,23) このほうが判りやすいだろう。 だから年、月、日を別のセルに入れるのが簡単。 2101 12  <-A1,B1 1 木  <-A3とB3 B3の式は =WEEKDAY(DATE($A$1,$B$1,A3)) B3の表示形式をaaaに設定する。これをしてないと曜日コードの数字が出る。 A1の表示形式を0年、B1を0月、A3を0日としておけば良い。 そして A列で連続データを月末まで作成すれば、B列の式を下方向に複写しておくと、B列に曜日が出る。 ーーー 後者は=DATEVALUE("2010年12月23日”) (全角文字ばかりでも出来るようだ) こちらは文字列を結合すれば良いが質問者の頭が混乱しないように省略する。 ーー 月末日で表示止めなどのスキルが必要になるかもしれないが、別途勉強して。

taaroo
質問者

お礼

ありがとうございました。 基本の基はわかっていたのですが、深いところまでわかって良かったです。

  • wisemac21
  • ベストアンサー率39% (171/429)
回答No.2

カレンダーを作成するのでしょうか? セルの位置関係はどのようになりますか? 年と月はどのように入力されますか?

taaroo
質問者

補足

カレンダーではないんですが、そうですね、カレンダーのような 表示です。 左上あたりに、何年の何月かという表示があり、 その下に日と曜日が1列に横並びにします。

回答No.1

  月日に連動して曜日は決まるが、月に連動して日を変えるの意味が判らない。 例えば3月と入力すると・・・・日を変えるとはどう言う事?  

taaroo
質問者

補足

2→1(火)、2(水)~28(月) 3→1(火)、2(水)~31(木) という具合です。 わかりますか?

関連するQ&A

  • エクセルで月を入力すると、その月の日と曜日が自動で表示されるようにしたい

    こんばんは。 下記の例のように、エクセルで月を入力するとその月の日と曜日(曜日を括弧でくくって表示)が自動で表示されるようにしたいのですが方法がわかりません(西暦や年号は表示しない)。 どうか教えていただきたく、お願い致します。 (例) A1  4月 A2  1日(木) A3  2日(金) ・ ・ A31 30日(金)

  • エクセルで○日○曜日と表示する方法(初心者です)

    エクセルの表に過去の○月○日○曜日とひと月分を 表示させる方法を教えて下さい。初めてトライするので 分かり易く教えて頂けたら嬉しいのですが・・。XPです

  • エクセル 日付・曜日が自動入力

    エクセルに関して質問です。 表に21日~20日を自動表示させたい。 A1に 2009年 A2に「~月」と月を入力すると A3に「21日」B3に曜日が自動的に表示できるようにしたい。 この時の開始日が21日スタートで、翌20日までかつ 隣の列に曜日を表示させたいのですが可能でしょうか?

  • エクセル曜日11月31日、2月29~31日

    出勤表のようなものを作成しています。 M16に日付を表す1が入力されていて 16行目右方向にに2~31と入力されています。 印刷範囲外となるA11に西暦をA13に月を入力する事により 以下の関数が入っているM17に書式設定で曜日が表示されます。(17行目右方向に数式がコピーされています) =DATE($A$11,$A$13,M16) このままだと、31日がない月でも曜日が表示されてしまいます。 (翌月1日の曜日) 又、2月となると29日に3月1日の曜日が表示されてしまいます。 DATE(2005,11,31)というのは12月1日という事になるのですか? DATE(2005,11,31)⇒有り得ない⇒エラー値にはならないのですか? 2月29日~31日(できればうるう年を自動認識に)と 小の月の31日の曜日のセルを 空白にする関数を教えてください。

  • Excel2003で毎月の曜日を簡単に表示したい

    Excel2003を使って勤務表を作っているのですが、 曜日表示の部分を毎回書き換えるのが面倒だなと思っています。 そこで、画像の「2010年○月分月間出勤予定」という部分に 例えば「2010年3月分」と入力すると3月の曜日を表示、 4月分と入力すると4月の曜日が、1~31日の曜日部分(画像の薄黄色の部分)に表示されるようにしたいのですが可能でしょうか? もしできるなら、どう入力すればいいのか教えて下さい。 Excelのファイルです↓(受信パス4567) http://www1.uploda.tv/index.php?mode=pass&idd=0055904

  • 曜日の表示

    EXCELで下記の説明から操作して年月日データから自動で曜日を表示させるようにしました。 結果 a1=2007年10月2日が a2=火と表示させたのですが、 日付データが入ってない場合曜日データも表示させないようにはできますか。 よろしくお願いします。 (説明) ●表示形式を設定して曜日を表示する  日付に対応する曜日を表示する最も簡単な方法は、曜日の表示形式を設定することだ。曜日を表示したいセルに日付のシリアル値を入力あるいは参照して表示形式を表に示す記号を設定すればよい。 表『曜日の表示形式』  記号 表示スタイル  表示内容 ddd 英語の省略記号  Sun~Sat dddd 英語表記  Sunday~Saturday aaa 日本語の省略記号  日~土 aaaa 日本語表記  日曜日~土曜日 操作 通常は参照先のセルと同じ表示形式が自動設定されるが、参照式を入力するセルの表示形式がすでに設定変更されている場合は(2)のように自動設定されないが、続けて(3)以降の操作を行えば良い。 (1) 曜日を表示するセルに日付を参照する数式「=C12」を入力する (2) 参照先と同じ表示形式で値が表示される 操作 (1) 設定するセルを右クリックしてショートカットメニューを開く (2)[セルの書式設定]を選択する (3) セルの書式設定ダイアログボックスが開く (4)[表示形式]タブをクリックする (5)[ユーザー定義]をクリックする (6) 種類の欄をクリックして「aaa」を入力する (7)[OK]をクリックする (8) 曜日が表示される

  • Excelで月を入力すると日と曜日を一覧表示する方法

    Excel初心者なのでどなたかお詳しいかたお願い致します! Excelで月を入力するとその月の日と曜日を一覧で表示させたいのです。 たとえば、”2月”と入力すると、以下のような一覧を自動的にだす計算式が知りたいです。 お手数をかけますが、何卒よろしくお願い致します    A  B 1  2月 ← 入力 2 3  1  日 4  2  月 5  3  火  ・  ・  ・ 31 28 土

  • エクセルの複数シートに、順次”年、月、日、曜日”を入れたいのですが、入

    エクセルの複数シートに、順次”年、月、日、曜日”を入れたいのですが、入れ方を教えて下さい。 エクセルもあまり良く理解できておりませんが、これから使ってみたいので。 セルは、全て別々のセルになります。

  • エクセルで曜日から締切日を表示させたい

    媒体発行日と締切の一覧をエクセルで作成しています。発行日の曜日で締切日が違うのですが、曜日に関連づけて締切日を自動で表示させるにはどのような関数を使えばいいでしょうか。 例:3月17日(木)→3月11日(金)、3月20日(日)→3月16日(水) よろしくお願いいたします。

  • 【Excel】 カレンダーに曜日を表示したい。

    こんにちは カレンダーについての質問です。     A      B 1  2008(年) 2  11(月) 3  1(日) 4  2(日) 5  3(日) 6  4(日) ・  ・ ・  ・ ・  ・ 31  29(日) 32  30(日) 33  31(日) ※括弧内の文字は表示されていません。 上の表の B3以下のセルに曜日を表示したいのですが、 B3以下の式を教えてください。 また、A列の日をカレンダーに合わせて 31日や閏年の29日の表示、非表示を 制御するにはどうしたら良いでしょうか。 Excel2003です。

専門家に質問してみよう