2

条件付き(または動的)データ検証に役立ついくつかのチュートリアルを読みましたが、通常は以前の選択などに基づいてリスト項目の選択肢を動的に生成します.

私が欲しいのは、私が持っているとしましょう

columnA : columnB
telephone_number : 911
name: peterparker

columnA で選択されている内容に基づいて、columnB でデータ検証ルールを動的に指定することはできますか? 電話番号ならB列の対応するセルが自然数か、名前なら特定の長さの文字列か調べたい。もちろん、ユーザーが columnA に入力できる文字列オプションを制限します。

4

2 に答える 2

2

カスタム検証ルールの次の式は次のようになります。

=IF(A1="telephone_number";ISNUMBER(B1);IF(A1="name";LEN(B1)=8;TRUE))

これは のセルの例ですB1。より広い範囲を選択して組み合わせ$て、すべての範囲にフォーミュラを適合させることができます。

于 2013-10-08T13:57:21.563 に答える
0

データ検証の代替手段は、条件付き書式設定です。後者の利点は、汎用性が高いことです。次の設定を使用できます。

ここに画像の説明を入力

次に、名前を定義すると、DynamicValidation次のようになります。

ここに画像の説明を入力

検証ボックスの式は

=EVALUATE(SUBSTITUTE(VLOOKUP(Sheet1!$A2,Sheet1!$D$2:$E$3,2,0),"()","("&ADDRESS(ROW(),2)&")"))

EVALUATEシート セルでは使用できませんが名前付き範囲では使用できます。ただし、マクロを有効にしてブックを保存する必要があります。これは からのレガシー マクロであるためExcel 4.0です。それが行うことは次のとおりです。

  • の値をList1調べて、チェックする必要がある数式を見つけます ( VLOOKUP)。
  • 対象"()"のセル値で代入します (そして括弧を追加します)。

次に、条件付き書式ボックス (Homeタブ、Conditional FormattingNew RuleUse a formula to determine....) を開いて、次のように数式を入力すると=Not(DynamicValidation):

ここに画像の説明を入力

式に準拠していない各セルは赤くなります。データ検証でもそれを試しましたが、変更するたびに依存関係ツリーを構築しない限り機能しませんList 2..理由はわかりません..しかし、条件付き書式のみが機能します:)いくつかのスクリーンショットを次に示します。

ここに画像の説明を入力

ここに画像の説明を入力

利点は、ハードコーディングせずに検証基準を変更できることです。これが役立つことを願っています!

于 2013-10-08T15:09:35.220 に答える