Excelのデータ検証機能は非常に便利です。この機能を使用して、ユーザー入力に受け入れられると見なされる値の範囲を指定できます。通常、Excelでは、検証ルールを定義しているのと同じワークシート上にあるものとして検証範囲を指定することを想定しています。別のワークシートまたは別のブックにある範囲を入力しようとすると、Excelが起動し、エラーメッセージが表示されます。

検証範囲を別のワークシートに配置して、現在のワークシートを無関係なデータで乱雑にしないようにするにはどうすればよいでしょうか。これを行う最も簡単な方法は、次の一般的な手順に従うことです。

。データ検証値として使用するセルの範囲を選択します。

。 [挿入]メニューから[名前]を選択し、サブメニューから[定義]を選択します。

Excelに[名前の定義]ダイアログボックスが表示されます。

。 MyValRangeなど、データ検証範囲の一意の名前を入力し、[OK]をクリックします。

。検証ルールを定義するセルを選択します。

。 [データ]メニューから[検証]を選択します。 Excelに[データ検証]ダイアログボックスが表示されます。

。 [許可]および[データ]ドロップダウンリストを使用して、Excelでデータを検証する方法を指定します。選択内容に応じて、ダイアログボックスに[値]、[最小]、または[最大]ボックスが表示されます。

。適切なボックス([値]、[最小]、または[最大])で、手順3でデータ検証範囲に付けた名前を指定します。たとえば、MyValRangeと入力できます。

。 [OK]をクリックします。

このアプローチは、データ検証範囲が同じワークブックにある場合にうまく機能します。別のブックにあるデータ検証範囲を完全に使用したい場合はどうなりますか?手順7で次のような数式を入力すると、Excelをだまして外部参照を受け入れることができます。

=INDIRECT("[Book2]Sheet1!D6")

この数式は、INDIRECT関数を使用して別のワークシートのセルの値を返し、データ検証機能は問題なくそれを受け入れます。この場合、チェックされるセルはBook2のSheet1のセルD6にあります。これを機能させるには、メインのブックが開いているのと同時にBook2が開いていることを確認する必要があります。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(2813)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。