Excelテーブルの列に対してデータ検証を作成しようとしています。検証では、テーブルの別の列を参照する必要があります。Excelデータ検証で構造化テーブル参照を使用する方法
2つの列「f1」と「f2」があります。各列には「Y」または「N」のいずれかを含めることができます。細かい
使用して、セルのアドレッシング作品:
私の質問です:どのように構造化されたテーブルには、アドレス指定検証-式を作成するには?
構造化参照の優れた概要:列「F2」にhttp://peltiertech.com/structured-referencing-excel-tables/
所望の検証がある:次のテーブルに入っ上方
=Table1[f1]&Table1[f2]<>"YN"
この写真は、表および検証式を示し、期待示します検証結果:
IはDに上記式を添加ata Validation - > Custom、 "f2"のセル。これは失敗します。有効なエントリ(つまり、その式がTrueと評価されるエントリ)を拒否します。
次に、この投稿に基づいてその数式を使用して定義された名前を作成し、その名前をカスタム検証として使用しようとしました。それも失敗します。 https://superuser.com/a/480660
その後、私はこの記事に基づいて、私の定義名、間接使用してみました: http://www.get-digital-help.com/2012/10/15/how-to-use-a-table-name-in-data-validation-lists-and-conditional-formatting-formulas/
しかし、有効なエントリはまだ拒否取得。
これを行う方法?
なぜ、構造化参照が検証式で失敗するのは、TableName [FieldName]が現在の行だけでなく列全体を評価するためです。そのため、検証式を現在の行だけに制限する方法を模索しています。
私はこれまでのところ、これらの方法を考えた:
私は構造化参照して、現在の行が@で識別されていることと思います。
ので、式は次のようになります。実際にシートに動作しますが、まだ検証-式としては動作しません
Table1[@f1] & Table1[@f2]<>"YN"
または
Table1[[@[f1]] & Table1[@[f2]]<>"YN"
。
次は、INDEXを使用して現在の行だけをプルすることでした。式は次のとおりです。
INDEX(Table1[f1] & Table1[f2],1,0)
また、これは検証式としてではなく、オンシートで動作します。私はこれが有望な方向だと思います!
thx、Ralph、しかし、私は自分自身の検証フォームを構築するのに役立つとは思わない。問題は、式がどのように評価されているかです。あなたの答えはそれに対処していません。 –
私はラルフを理解しています。確かに、私はすべての単一のセルを1つずつ比較するようにVBAを書くことができます。しかし、完全な新しいカスタムフォームを作成するよりも、通常のセルアドレッシングを使用するほうがはるかに簡単で簡単です(私のOPに加えて)。このスレッドは、構造化テーブルアドレッシングを使用してそれを行う方法を尋ねていますか? –
セル参照式が正常に動作しているようです。テーブルに新しい行を追加すると、テストでは「YN」の組み合わせは受け入れられません。 –