• ベストアンサー

Excelでプルダウンと連動して日付表示を変える方法。

Excelでプルダウンと連動して日付表示を変える方法。 Excelについてご教授お願いいたします。 現在Excelの勉強中で、勤務表などを作成したいと考えています。 プルダウンから2010年01月など日付を選ぶだけで、その選択したリストに連動して、下の部分にその月ごとの日付や曜日が表示されるようにするにはどのように設定すればよろしいのでしょうか? プルダウンリストの月ごとに29日、30日、31日と表示を変化させるためには、別sheetを参照するプルダウンリストの作成などで作成できるものなのか、それともVBAを新たに勉強する必要がありますでしょうか? 方法を教えていただければ幸いです。

  • wwweq
  • お礼率80% (4/5)

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんばんは! 一例です。(年と月のセルは別々のリスト表示にしています。) ↓の画像のようにA3セルに「年」・C3セルに「月」を別々のプルダウンで表示すれば その月の日付・曜日を表示するようにしてみました。 Sheet2に年と月の表があるとします。 別Sheetを直接入力規則のリスト範囲に指定できないと思いますので、それぞれの範囲を「名前定義」しておきます。 当方使用のExcel2003の場合です。 まず、Sheet2のA1~A7セルを範囲指定 → メニュ → 挿入 → 名前 → 作成 → 「上端行」を選択し、OK これでA2~A7セルが「年」と名前定義されます。 B1~B13セルを範囲指定 → 同様の操作 でB2~B13が「月」と名前定義できました。 (A2~A7を範囲指定し、直接名前ボックスに 年 と入力しても構いません) そしてSheet1のA3セルをアクティブにし、 メニュー → データ → 入力規則 → 「リスト」を選択し、「元の値」の欄に =年  としてOK 同様に、C3セルの入力規則の「リスト」から「元の値」の欄に =月  としてOK これでA3・C3セルにそれぞれSheet2で名前定義したものがリスト表示できるようになりましたので、 B6セル(セルの書式設定の表示形式は d としておきます)は =IF(COUNTBLANK($A$3:$C$3),"",IF(MONTH(DATE($A$3,$C$3,ROW(A1)))=$C$3,DATE($A$3,$C$3,ROW(A1)),"")) C6セル(セルの書式設定の表示形式は aaa としておきます)は =IF(B6="","",B6) として、B6・C6セルを範囲指定し、C6セルのフィルハンドルで31日の36行目までオートフィルでコピーすると 画像のような感じになります。(大の月・小の月にも対応しているはずです) 以上、長々と書いてしまいました。 参考になれば良いのですが・・・m(__)m

wwweq
質問者

お礼

申し訳ありません。お礼を補足に入力してしまいました。 今回はみなさんにお早い回答をいただきまして非常に感謝しております。 まとめての入力で大変失礼ですが、改めて本当にありがとうございました。 今後もご質問させていただくことがあるかと思いますが、また機会があればよろしくお願いいたします。 ベストアンサーを決めかねていますが、質問締切できなくなってしまうため、ひとまず画像添付していただいたtom04さんにさせていただきました。 Bloodhandさん、mshr1962さんにも大変感謝しております。 今回は本当にありがとうございました。

wwweq
質問者

補足

こんにちは! 早速の回答ありがとうございます。 画像の添付や選択するメニューまで記載していただきまして、お手数おかけいたしました。 大変感謝しております。ありがとうございます。 こちらも参考させていただきながら、早速作成してみたいと思います。 ありがとうございました。

その他の回答 (3)

noname#145943
noname#145943
回答No.3

まちがってました。コピーできませんね。 B33=IF(MONTH(B32+1)=MONTH(A3),B32+1,"") B34=IF(MONTH(B32+2)=MONTH(A3),B33+1,"") B35=IF(MONTH(B32+3)=MONTH(A3),B34+1,"") でした。

wwweq
質問者

お礼

申し訳ありません。お礼を補足に入力してしまいました。 今回はみなさんにお早い回答をいただきまして非常に感謝しております。 まとめての入力で大変失礼ですが、改めて本当にありがとうございました。 今後もご質問させていただくことがあるかと思いますが、また機会があればよろしくお願いいたします。 ベストアンサーを決めかねていますが、質問締切できなくなってしまうため、ひとまず画像添付していただいたtom04さんにさせていただきました。 Bloodhandさん、mshr1962さんにも大変感謝しております。 今回は本当にありがとうございました。

wwweq
質問者

補足

早速の回答ありがとうございます。 mshr1962さん同様、IF関数で実現できることを知り、非常に参考になります。 また詳しい記載ありがとうございます。 こちらも勉強させていただきたいと思います。 ありがとうございました。

noname#145943
noname#145943
回答No.2

別シートに 1/1 2/1 3/1 … といったデータを列方向にでも作成して、範囲名を決めておきます。 A3には入力規則を設け、リストから選択できるようにします。 この際、リストは「セルの書式設定」で「日付」で「2001年3月」を選択します。 ・入力規則のリスト用データを別シートにまとめる:Excel エクセルの使い方-入力規則 http://www.relief.jp/itnote/archives/000210.php --- B6=A3 B7=A3+1 とし、B7を下方にB32までコピーします。 B33=IF(MONTH(B$32+1)=MONTH(A$3),B32+1,"") とし、B34とB35にコピーします。 B5からB35まで、「セルの書式設定」で「ユーザー定義」で「d」と設定します。 --- C5からC35までを範囲選択し、そのまま =A5 と入力し、Ctrlを押しながらEnterキーを押下します。 そのままCtrl+1 で「セルの書式設定」を出し、「ユーザー定義」で「aaa」と指定します。

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

A3="2010/1/1" ※表示形式 yyyy年mm月 なら B6=IF(MONTH($A$3+ROW()-6)=MONTH($A$3),$A$3+ROW()-6,"") ※表示形式 d C6=IF(B6="","",TEXT(B6,"aaa")) でB6:C6をB31:C31までコピー

wwweq
質問者

お礼

申し訳ありません。お礼を補足に入力してしまいました。 今回はみなさんにお早い回答をいただきまして非常に感謝しております。 まとめての入力で大変失礼ですが、改めて本当にありがとうございました。 今後もご質問させていただくことがあるかと思いますが、また機会があればよろしくお願いいたします。 ベストアンサーを決めかねていますが、質問締切できなくなってしまうため、ひとまず画像添付していただいたtom04さんにさせていただきました。 mshr1962さん、Bloodhandさんにも大変感謝しております。 今回は本当にありがとうございました。

wwweq
質問者

補足

早速の回答ありがとうございます! IF関数で実現できるんですね。 私も早速作成してみたいと思います。 ありがとうございました。

関連するQ&A

  • Excelにてリストから表示した月の日付を表示する

    よろしければExcelについてご教授下さい。 Excelを利用し便利なシフト表を作成するため現在勉強をしております。。 下記に添付してあるような形で、リストから月を選択し、その選択した月の日付を セルに表示していきたいと考えております。 方法としては別のシートを参照するプルダウンリストの作成で実現はできるのでしょうか? それとも、VBAを勉強する必要があるでしょうか? ご教授頂ければ幸いです。 よろしくお願いいたします。

  • Excelの連動したプルダウンの空白を認識しない

    連動したプルダウンリストを作りたいのですが、空白や半角文字を認識しません。 似たような図を作ったのですが、このような空白や半角文字が入った連動したプルダウンリストを作成することは可能でしょうか。

  • Excel で日付入力のプルダウンメニューを簡単に作る方法

    Excel 2003 でも Excel 2007 でもかまいません。(OSもXP・Vistaどちらも使っています。) 日付入力はプルダウンメニューから選ばせるとき、どこかのセルに選択肢のリスト(例えば M1:M31に 2008/10/1~2008/10/31)を作っておいて、入力規則を「リスト」にする、という方法はわかりますが、リストを作らないでもっと簡単に選ばせる方法はないでしょうか? イメージとしては、セルB2に、日付未入力の段階では 「(ここに日付を入力)」 と表示させておいて、▼を押すとプルダウンが現れて、その先頭は今日の日付(=today() ??)で、下に向かって日付が古くなっていく(とりあえず1週間分くらいあれば足ります)という感じです。任意の日付を(2007/4/5など)入力できるとなお良いですが無理は言いません。(私は、入力規則をリストまたは任意日付、とする方法を知らないので。) セルに値を入力、じゃなくて、何かのコントロールでもかまいません。マクロで日付を読み込めることが必須条件です。 大がかりなマクロを組めば期待するものを実現できるかも知れませんが、なるべくシンプルな方法をご存じの方、いらっしゃいませんでしょうか。実は私自身、Excel 2007 で「(ここに日付を入力)」などを見たことがある気がするのですが、ど忘れしてしまいました。よろしくお願いします。

  • エクセルで日付けから曜日を表示する方法

    エクセルで日付けから曜日を表示する方法を教えてください。 例えば A1 14 A2 7 A3 31 という数値が入っていたとして(平成14年7月31日という意味です) A4に曜日を表示することは可能でしょうか。

  • エクセルスケジュール作成の際に、曜日を固定して日付をその月によって連動させる方法を知っている方いませんか?

    エクセルで横列にスケジュール表を作成しています。月により日付を連動させる方法(WEEKDAY等)の説明はたくさんありますが、逆に月により日付を左右に連動させるようにできませんか? 曜日欄には式入れずそのまま入力。日付欄は、3/1が第1週目の日曜であれば、曜日欄の第1週目の日曜の欄の上に自動的に日付が表示される感じにしたいです。 また、資料の都合上、月ごとに管理していますが、前月&次月それぞれ1週間分の日付も表示させたいです。 A1~  年  月 B1~  前月日付  当月日付 次月日付←月を変更すると左右に移動 C1~  前月曜日  当月曜日 次月曜日←固定 分かりづらい説明で申し訳ございませんが、かなり困っています。お返事頂ければ幸いです。宜しくお願いします。

  • プルダウンで日付と曜日を取得する

    開発環境 Visual Web Developer 2008 Express Edition(言語はVB.NET) 「年」「月」「日」のプルダウンと「曜日」を表示するラベルが配置された画面を作ろうとしています。 年と月のプルダウンに関しては、2000~2020年・1~12月までをhtmlで追加してやれば良いのですが、 たとえば、 2000年の1月を選択したらポストバックして2000年1月に存在する日を「日」のプルダウンに表示させ、さらに、日付のプルダウンで28日と選択したらそれに対応する曜日をラベルに表示させる、 といった場合にはどのようなコードを書けば可能でしょうか? 宜しくお願い致します。

  • 当日から3日後がデフォルトの連動年月日プルダウン

    当日から3日後がデフォルトの連動年月日プルダウンを作成したいと思っております。 言語はPHPかJavaScriptを予定しています。 まず1つ目のプルダウンには当日から3日後~1か月程度の選択肢を、2つ目のプルダウンには1つ目のプルダウンで選択された日付の1日後~1か月程度の選択肢にしたいと考えています。 プルダウン(1) 2013-03-15 プルダウン(2) 2013-03-16 連動プルダウンのサンプルコードは手に入ったのですが、日付のプルダウンにするにはどうすれば良いかが全く分かりませんでしたので、質問させて頂きました。 すみませんが、どなたかサンプルなどをお教えいただけないでしょうか。 よろしくお願いいたします。

  • エクセルで日付と曜日を横並びで自動表示

    いつもお世話になっています。エクセルに関して質問させていただきます。 今度会社の残業計画を作成する事になったのですが、表に西暦と月を入力すれば曜日と日付を自動出力させたいのですが、いろいろなHPを拝見させてもらっても縦並びの為、エクセルをそれ程使いこなせていない為応用ができませんでした。(画像参照) そこでエクセルに詳しい方、是非横並びの表に日付と曜日を自動出力できる関数の式をご教授下さい。(28日までしかない月などは28日まで、31日までの時は31日まで表示できる様にしたいです。) よろしくお願い致します。

  • プルダウンで今日以降の日付を表示する方法

    プルダウンで今日の日付とか、明日の日付以降を10個くらい表示する方法はあるでしょうか?つまり、今日が8/1なら、 8月1日(月) 8月2日(火) 8月3日(水) 8月4日(木) 8月5日(金) 8月6日(土) という風にプルダウンで表示したいです。言語はPHPを使用しているのですが、実現できればPHPでも、HTMLでもかまいません。

    • ベストアンサー
    • PHP
  • エクセルのプルダウン

    エクセルのプルダウンについてです。 エクセルの機能でツール→入力規則→リストでプルダウン内容を入力すると プルダウンで表示できるかと思いますが、その場合、プルダウンのマークは カーソルを合わせないと表示されないようになっているかと思いますが、 そのプルダウンマークをカーソルを合わせなくても、 常に表示させたいのですが、方法を教えてください。

専門家に質問してみよう