ドロップダウンリスト

[EXCEL] 年・月と連動した日付のドロップダウンリスト(動画あり)

EXCELで作成、配布するフォーマットに「日付入力欄」を設ける事はよくありますが、「年」「月」「日」をそれぞれ ドロップダウンリスト で選択できるようにすれば、メンテナンスの心配もなく長期間使えるフォーマットになるはずです。

入力ミスを防ぐには ドロップダウンリスト は便利なのですが、ひとつ大きな問題があります。

「年・月・日」をバラバラに入力してもらうわけですから、入力側はエクセルの日付(シリアル値)として例えば「曜日」を確認しながら入力ができず、また作成者側はバラバラに入力された 「年・月・日 」を、シリアル値へ変換しなければなりません。

「年」「月」が決まればドロップダウンリストの「日」が「シリアル値」として提示される手法をご紹介いたします。

スポンサーリンク




やりたい事

①は 1 ~ 31 までを選択する今までの方法、曜日を見ながら入力はできません。

②「年」「月」に連動した「シリアル値」が表示されるようにしたいと思います。

年・月と連動した日付リストの作成

設定シート

①「年」「月」「日」を入力してもらう基本シートです。

②ドロップダウンリストの値を用意する「設定」シートを作ります。ここまでは今まで通り、数字を並べただけのよくある方法です。

年・月をリスト化

「年」「月」のドロップダウンリストだけを先に作ります。

①リストを作成するセルを選択しておき

②「データ」タブの「データの入力規則」をクリックします。

③「入力値の種類」を「リスト」にして

④「元の値」を「設定」シートに作っておいた選択候補のセル範囲を指定します。

日付をつくる式

列=「日」のとなりに「日付」の列を作り、ここに日付(シリアル値)を作ります。

式の説明

=DATEVALUE(Sheet1!$C$3&TEXT(Sheet1!$C$4,”!/00″)&TEXT(設定!C2,”!/00″))

①「年」のセルです。

②「月」ですが、1桁の月もあるので TEXT関数 で2桁にするのと同時に / も付けます。

③左横の「日」ですが、1桁の日もあるので TEXT関数 で2桁にするのと同時に / も付けます。

DATEVALUE が無ければ「 2020/06/01 」という文字列ですが、日付に見える文字列をシリアル値に変換する DATEVALUE を付けることで、バラバラの「年」「月」「日」がシリアル値に変換できました。

表示形式を整える

表示形式が「標準」のままでは、シリアル値は「数値」を表示しますので「セルの書式設定」で「日付」を表示するよう表示形式を整えます。

①「日付」の対象範囲を選択して

②「ユーザー定義」で「 yyyy/mm/dd(aaa) 」など日付を表示する形式に設定します。

2日以降の日付

① 2日めは上のセルに「プラス 1 」することで作れます。

②2日めの式を「オートフィル」で31日までコピーします。

「日」のドロップダウンリスト

①「日」のセルを選択しておき

②「データ」タブの「データの入力規則」をクリックします。

③「入力値の種類」を「リスト」にして

④「元の値」を「設定」シートに作ったシリアル値のセル範囲を指定します。

ポイント解説動画

エクセル屋の解説動画は毎日増えています。「知ってるんだけど確認したい」時に便利なよう、ほとんどが1分以内でナレーション無し-何度でもくり返し確認できます。下のボタンからチャンネル登録をお願いいたします。

スポンサーリンク