Excelのデータ検証を使用して日付を指定する4つの方法 - TechRepublic

Excelのデータ検証を使用して日付を指定する4つの方法 - TechRepublic

Excelのデータ検証機能は、特に日付を扱う際にその汎用性に気づいていないため、あまり活用されていません。日付は一見複雑に思えますが、それは頭の中で考えているだけです。この機能は日付を問題なく処理します。データ検証を使用して日付を表現する4つの方法をご紹介します。リテラル値、入力値、リスト、そして数式です。

Windows 10 64ビットシステムでExcel 2016(デスクトップ版)を使用しています。ご自身のデータを使用することも、デモ用の.xlsxファイルと.xlsファイルをダウンロードすることもできます。Excelのテーブルオブジェクトはメニュー版ではサポートされていないため、#3は.xlsファイルでは機能しません。ブラウザ版では既存の検証コントロールはサポートされていますが、ブラウザ内で作成したり変更したりすることはできません。

1: 最も簡単な方法

日付リテラルを使用するのは、入力を特定の日付範囲に制限する検証コントロールを作成する最も簡単な方法です。次のように、許容される最初の日付と最後の日付を入力するだけです。

  1. 検証コントロールを追加するセルを選択します (この例では、セル C4 を使用し、見つけやすいように塗りつぶし色を追加します)。
  2. [データ]タブをクリックします。
  3. [データ ツール] グループで、[データの入力規則] をクリックします。
  4. 表示されるダイアログで、「許可」ドロップダウンから「日付」を選択します。これによりダイアログが更新されます。データコントロールはデフォルトで「Between」に設定されていますが、これは必要な設定なので、変更しないでください。
  5. [開始日] コントロールに、期間の最初の日付を入力します。
  6. [終了日] コントロールに、期間の最終日を入力します (図 A )。
  7. [OK]をクリックします。

図A

日付範囲の最初の日付と最後の日付を入力します。

図Bに示すように、コントロールは2018年の日付を拒否します。設定には開始日と終了日の両方が含まれます。

図B

検証コントロールは、2017 年以外の日付を拒否します。

これは、データ検証コントロールの範囲を指定する最も簡単な方法です。簡単な方法を選んでも問題ありません!実装も変更も簡単です。セルを選択し、上記の手順を繰り返し、片方または両方の日付を変更するだけです。さらに、日付の範囲(期間)を表すために「Between」演算子を使用しました。演算子はいくつかありますので、どのような演算子が使えるか確認しておきましょう。

参照: コスト比較計算機: G Suite vs. Office 365(Tech Pro Research)

2: 入力値

簡単であることは素晴らしいですが、日付範囲の境界を頻繁に更新する場合はどうすればよいでしょうか?解決策は依然としてシンプルですが、シートレベルで2つの入力セルが必要になります。図Cは、開始日と終了日をそれぞれ入力するための2つの入力セル(C1とC2)を示しています。この時点では、手順は#1とほぼ同じですが、日付のリテラル値を入力する代わりに、入力セルを参照する点が異なります。この検証コントロールを作成するには、次の手順を実行します。

  1. C4を選択します。
  2. [データ]タブをクリックします。
  3. [データ ツール] グループで、[データの入力規則] をクリックします。
  4. 表示されるダイアログで、[許可] ドロップダウンから [日付] を選択します。
  5. 開始日コントロール内をクリックし、「=C1」と入力します。
  6. 終了日コントロールに「=C2」と入力します(図 C )。
  7. [OK]をクリックします。

図C

シート レベルで日付を参照します。

このコントロールの実装は簡単ですが、コントロールの設定を変更せずに、いずれかまたは両方の日付を変更できる柔軟性が得られます。

入力セルに名前を付けて、手順5と6で参照することもできます。例えば、C1にStartDate、C2にEndDateという名前を付けます。そして、手順5と6でそれぞれ=StartDate=EndDateと入力します。

3: 動的なリスト

日付の範囲ではなく、日付のリストを提示したい場合もあるでしょう。まず、図Dに示すような日付のリストが必要です。ご覧のとおり、このリストは2018年の各月の初日で構成されています。リストができたら、それをテーブルオブジェクトに変換します。リスト内の任意のセルをクリックし、Ctrl+Tキーを押します。または、「挿入」タブをクリックし、「テーブル」グループにある「テーブル」オプションを選択します。表示されるダイアログで、「テーブルに見出しを付ける」オプションをオンにして、「OK」をクリックします。

図D

日付のリストを入力します。

検証コントロールを作成するには、次の手順を実行します。

  1. C4を選択します。
  2. [データ] タブをクリックし、[データ ツール] グループで [データの入力規則] をクリックします。
  3. 表示されるダイアログで、[許可] ドロップダウンから [リスト] を選択します。
  4. ソースコントロール内をクリックし、テーブルをハイライト表示します。または、範囲「=$F$4:$F$15」図E)を入力します。参照にはヘッダーセルを含めないでください。
  5. 「OK」をクリックします。図Fに示すように、検証コントロールには日付のドロップダウンリストが表示されます。

図E

日付テーブル オブジェクトをソースとして参照します。

図F

この検証コントロールでは、日付を 12 個までに制限します。

シートレベルのリストはTableオブジェクトであるため、リストを変更するとコントロールも更新されます。例えば、日付を削除または追加すると、リストもそれに応じて更新されます。

参照: デフォルト設定を変更して Office 2016 を自分好みにカスタマイズする (TechRepublic の無料 PDF)

4: 式

1と2の検証コントロールは、2017年内の任意の日付のみを入力できるようになっています。これは、開始日と終了日を入力することで実現しました。日付文字列の代わりに数式を使用しても同じことができます。これを行うには、C4を選択し、以前と同じように「データの検証」ダイアログを開きます。次に、以下の操作を行います。

  1. [許可] ドロップダウンから [カスタム] を選択します。
  2. 数式コントロールに次の数式を入力します(図 G )。
    =YEAR(C4)=2017
  3. [OK]をクリックします。

図G

数式を使用して、2017 年の任意の日付を表します。

この数式は日付の年の値を評価します。2017年の場合、数式はTrueを返し、コントロールは日付を除外します。2017年でない場合、数式はFalseを返し、コントロールは日付を拒否します。日付のどの要素に対しても同様のことができます。例えば、MONTH()関数を使用することで、1月以外の日付をすべて除外できます。

少し複雑にしてみましょう。例えば、今年ではない日付を除外したいとします。そのためには、手順3で次の式を使用します。

=YEAR(C4)=YEAR(TODAY())

YEAR(TODAY()) コンポーネントは、現在の日付の年を返します。つまり、2018 年の場合は 2018 年の日付のみを入力できます。2019 年の場合は 2019 年の日付のみを入力できます。時間が経過しても数式やコントロールを更新する必要はありません。

もう一つ試してみましょう。きっと出てくる質問です。週末のデートをどうやって断りますか?ここでも、ある公式が役に立ちます。

=WEEKDAY(C4,2)<6

この数式では、週は月曜日から始まると仮定しています。曜日の値6と7は、それぞれ土曜日と日曜日を表します。この数式では年は考慮されません。月曜日から金曜日までの日付であれば、任意の日付を入力できます。

WEEKDAY() 関数には、図 Hに示すように、日付と戻り値の型の2つの引数があります。戻り値の型の値を、ご自身の勤務週に合わせて調整してください。または、演算子を変更してください。例えば、=WEEKDAY(C4,2)=3 という式を使用して、水曜日以外の日付を除外できます。また、=WEEKDAY(C4,2)<>3 という式を使用して、水曜日以外の日付を受け入れることもできます。

図H

WEEKDAY() を使用して週の最初の曜日を変更できます。

検証中

検証はシンプルでありながら柔軟性が高く、日付も問題なく扱えます。リテラル値を入力したり、入力値を使用したり、リストを生成したり、日付関数を使って検証コントロールで受け入れる(または拒否する)値を制限したりすることも可能です。

シンプルにするために、例はすべて単一セルのコントロールを使用しました。Tableオブジェクトでは、入力規則コントロールをほとんど手間をかけずに使用できます。詳細については、「Excelで2つの高度な動的リストを作成する方法」をご覧ください。

Officeに関するご質問をお送りください

読者の質問には可能な限りお答えしますが、必ずお答えできるとは限りません。リクエストがない限り、ファイルは送信しないでください。添付ファイル付きの初回サポートリクエストは未読のまま削除されます。ご質問を明確にするために、データのスクリーンショットを送信していただくことも可能です。お問い合わせの際は、できるだけ具体的にご記入ください。例えば、「ワークブックのトラブルシューティングを行い、問題点を修正してください」といった質問では返答がないかもしれませんが、「この数式が期待どおりの結果を返さない理由を教えていただけますか?」といった質問であれば、回答が得られるかもしれません。ご使用のアプリとバージョンを明記してください。読者サポートにあたり、TechRepublicから時間や専門知識の報酬を受け取ることはありません。また、サポートした読者から料金を請求することもありません。お問い合わせは[email protected]までお願いいたします。

また読んでください…

  • あなたはこれまでずっと Excel を間違った使い方をしてきました (それで問題ありません) (ZDNet)
  • CES 2017:ビジネスのビッグトレンド(ZDNet/TechRepublic特集)
  • Office Q&A: Excel で条件付きで一意の値をカウントする (TechRepublic)
  • Microsoft Office で絶対にやってはいけない 30 のこと (TechRepublic の無料 PDF)
Tagged: