• ベストアンサー

エクセルで、月を入力すると日付と曜日が変わるようにしたい

昔、自分でも作成していたのに今ではすっかり忘れてしまいましたので恥を忍んで質問します。 西暦の年数を入力するセル その隣に月を入力するセル その下の行には日付が横並びに続き、 さらにその下の行には曜日が並ぶ。 毎月更新するようなシートなので 月を変更すると 日付と曜日がサーっとかわるようにしたいのです。 どうやって数式をいれますか? 教えてください。

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

>2日からになってしまいます。どうしてでしょう? ⇒C4の数式が「COLUMN(Bn)」になっていないでしょうか。COLUMN関数だけ相対参照にしていましたから数式を移動した際に変位したと思われます。  次の様に変更して下さい。  =IF(DATE($B$3,$C$3+1,0)<DATE($B$3,$C$3,COLUMN(A$1)),"",DATE($B$3,$C$3,COLUMN(A$1)))  COLUMN関数は列番号を戻してくれる関数です。  列方向というご要望からCOLUMN(A1)で1、COLUMN(B1)で2、というように1から連番を得る事で、日付として使用した次第です。  因みに行方向ならばROW関数となります。

rica19
質問者

お礼

感激しました!ありがとうございます。 エクセルっておもしろいですね もっと勉強したくなりました。 時間ができたらじっくりやりたいです。 たすかりました。 本当にありがとうございました。

その他の回答 (4)

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.5

C4=DATE($B$3,$C$3,COLUMN()-2) C5=TEXT(C4,"aaa") ですね。 COLUMN()は数式のある列番号(A=1,B=2,C=3...AA=27)になります。 セルに関係なく1が欲しい場合はCOLUMN(A1)としてA1の列番号を表示させる形になります。 通常はCOLUMN()-数値で調整するほうが多いですけどね。 行方向で同じことを行なう場合はROW()を使います。 別の方法として C4=DATE($B$3,$C$3,1) C5=TEXT(C4,"aaa") D4=C4+1 D5=TEXT(D4,"aaa") でD列をコピーする方法もあります。

rica19
質問者

お礼

回答くださって、本当にありがとうございました。 皆様、すごく詳しいのですね。 やはりプログラムとかされてるのでしょうか。 頭が下がります。 また、自分もそうなりたいなと思いました。 感激しました。 ありがとうございました。 皆さんにポイントおつけしたいのですが、それもできず残念です。

  • gutoku2
  • ベストアンサー率66% (894/1349)
回答No.3

<表示のイメージ> 1行目 A列"年" B列"月" → 任意入力領域 2行目 A列"1日" B列"2日" C列"3日"・・・・AE列"31日" 3行目 A列"曜日"・・・・・・ このように表示する場合の設定方法  A1セル "年の任意入力" B1セル "月の任意入力"  A2セル =(VALUE($A$1&"/"&$B$1&"/"&1))  B2セル =IF(A2="","",IF(MONTH(A2+1)=$B$1,A2+1,""))     B2セルをコピー元、C2~AE2セルに貼り付け  A2セル~AE2セルの書式設定   セルの書式設定 - ユーザー定義 にて  d"日" を設定  A3セル =IF(ISERROR(TEXT(VALUE(A2),"aaaa")),"",TEXT(VALUE(A2),"aaaa"))  A3セルをコピー元、B3セル~AE3セルに貼り付け これで、A1セルに 2008 B1セルに 7 と入力すると A2セルに 1日 B2セルに 2日 ・・・・・ AE2セルに 31日 A3セルに 火曜日 B3セルに 水曜日 ・・・・・ AE3セルに 木曜日 と表示されます。

rica19
質問者

お礼

回答くださって、本当にありがとうございました。 皆様、すごく詳しいのですね。 やはりプログラムとかされてるのでしょうか。 頭が下がります。 また、自分もそうなりたいなと思いました。 感激しました。 ありがとうございました。 皆さんにポイントおつけしたいのですが、それもできず残念です。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

一案です。 A1に 2008 A2に  7 A3に =DATE($A1,$A2,COLUMN(A1)) A4に =A3 書式 ユーザー設定で aaaaに変更 A3とA4セルを 右へコピィ A3に =IF(COLUMN(A1)>DAY(DATE($A1,$A2+1,0)),"",DATE($A1,$A2,COLUMN(A1))) A4に =IF(A3="","",A3) にしておけば、31日(或いは30日)以降が空白です。

rica19
質問者

お礼

回答くださって、本当にありがとうございました。 皆様、すごく詳しいのですね。 やはりプログラムとかされてるのでしょうか。 頭が下がります。 また、自分もそうなりたいなと思いました。 感激しました。 ありがとうございました。 皆さんにポイントおつけしたいのですが、それもできず残念です。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

一例です。 仮にA1に年、B1に月を入力とします。 (1)日付 ・A2のセルの書式設定→表示形式タブのユーザ定義でd又はddを設定 ・A2に=IF(DATE($A$1,$B$1+1,0)<DATE($A$1,$B$1,COLUMN(A1)),"",DATE($A$1,$B$1,COLUMN(A1)))入力、右方向に31日分コピー (2)曜日 ・A3のセルの書式設定→表示形式タブのユーザ定義でaaaを設定 ・A3に=A2を入力、右方向に31日分コピー

rica19
質問者

補足

早速ありがとうございます。 実際にはB3セルに西暦 C3セルに月 で、C4から日を横並びに続けたいのですが なぜか2日からになってしまいます。どうしてでしょう? ためしに別のシートでお答えの例えと同じセルに西暦、月をいれたらうまくいったんですが。。。 それとできましたらCOLUMNの意味とか教えてもらえないですか?

関連するQ&A

  • エクセルで、月を入力して縦方向に日付と曜日を変える

    エクセルの関数がほとんどわからず困っているので助けてください。 F2セルに年が(ユーザー設定で平成になっています)、G2セルに月が(こちらもユーザー設定で月は固定されています)。 A56セル(セル結合されています、以下7・8、9・10…と縦方向に結合続く)に日、 B56セル(セル結合されています、以下7・8、9・10…と縦方向に結合続く)に曜日(木、金など一文字)を 月を変更すると日付と曜日がサーっとかわるようにしたいのですが 他の質問を参考にしても関数自体を理解していないので解らない状態です。 数式を教えて頂けると助かります。 よろしくお願いします。

  • エクセルでの曜日の表示

    検索したのですが、過去に同様の質問がないようですので質問させて頂きます。 例えば、あるセルに西暦の年(2006)その隣のセルに月(3)を入れます。 日付の一覧(1~31)がありましてその隣に曜日が自動的にはいるようにしたいのです。 例えば、月のセルを(4)にしたり、年のセルを(2007)に変えると、自動的に曜日が変わるようにするにはどのようにすればいいでしょうか。 ちょっと分かりづらいかもしれませんがよろしくお願いいたします。

  • エクセル曜日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日の曜日のセルを 空白にする関数を教えてください。

  • エクセルでの月日、曜日の入力に関して

    こんにちは いつもお世話になっています。 エクセルで日付、曜日の入力に関して教えてください。  セルA1に西暦年月日を数字で入力してあります。表示形式は標準です。  例えば、2010年1月1日は20100101です。  これに対応させてセルB1に月日、例えば1月1日。セルC1には曜日を入力させたいです。  歴史年表を作っています。よろしくお願いします。

  • 自動で日付、曜日を表示した

    エクセルで、例えば A1セルに西暦、B1セルに月を入力すれば A3セルから順に下に日付(1日 2日 3日・・・) B3セルから順に下に曜日(例えば今月なら金 土 日) というように自動的に表示できるようにしたいのですか 可能でしょうか? マクロを使えばいいのでしょうか? 可能ならやり方を教えてください。 よろしくお願いします!

  • Excelの表で、日付に曜日を対応させたい

    Excelで表を作るのですが、日付に曜日を対応させる方法を 調べたところ、1つのセルで例えば『2012/06/08』や『2012年6月8日』 等と書いた場合の曜日の出し方は分かったのですが、 ちょっと特殊な?表を作るよう頼まれて困っています。 要するに西暦と月と日付を書く欄がばらばらなのですが、 ------------------------------------------  2012年 6月 ****************  日付   1  2  3  4  …  曜日 金  土  日  月 … ------------------------------------------ ↑のような感じで、「年と月は空欄」「日付の数字は固定」の テンプレートにしておいて、何年何月の部分に数字を入れたら 自動で日付の下にその正しい曜日が入るようにならないかと いうものです。 もしどうしても不可能なのであればそれでもいいと 仰っていたのですが、こちらも単純な表くらいしか Excelを使わないのでよく分からず、ネットで調べても 求める回答が得られなかったので質問致しました。 詳しい方、アドバイスを頂ければ幸いです。 よろしくお願いします。

  • エクセル 曜日日付 自動入力の仕方を教えてください

    エクセル2010を使っています。 スケジュール表を作っていて日付と曜日入力が自動で、できる方法を教えてください。 セルの中に 1(日) と打っていきたいのです。 1(日)と打って、下にカーソルを持っていけば自動的に2(月)と入力できるような ものがありますか? よろしくお願いします。

  • 曜日が自動ではいる数式

    A2~AE31に1~31の数字(日付)が入力されています。A1のセルに「2005/04」と入力すると、数字の下の行にA3~AE31に曜日(例えばA3には2005年4月1日の『金』)が自動で入る数式をおしえてくださいませんでしょうか?急いでおります。助けてください。

  • エクセルで日付→曜日を返すには

    エクセルでエクセルで日付 (例 2004/8/1といった形式での入力)→ 曜日を返すには なにか関数がありますか? 飛び飛びの日付が隣り合ったセルに入力されているの ですが その間の日付をセルに返して 本来の位置に移動することは可能でしょうか? 自分で考えてみたのですが とっかかりさえつかめません、 皆様よろしくお願いします。

  • Excelにて日付と曜日を自動的に表示できるように…

    ひと月につきひとつのファイル(Excel)で、 その中に1日1枚記入するワークシートが1か月分…つまり1から31まであります。 その1枚ずつに日付と曜日を入れるセルがそれぞれあります。 毎月、前月のファイルをコピーして使用するのですが、 そのため入力する度に日付と曜日を変えています。 これを自動的に表示させる方法はないでしょうか? 例えば10月のファイルなら、 12という名前のワークシートは日付が2005/10/12で曜日が(水)と表示されるような… もし何か名案があればよろしくお願いします。

専門家に質問してみよう