2013-04-25 8 views
11

ワークブック:アカウントExcelデータの検証一覧用いて、式Iには、以下のいる

ワークシート

Accounts worksheet

ワークシート投稿

Posts worksheet

データ検証のポップアップが表示されていることだけからのIdsアカウントがウェブサイトシートをアカウントので、私は、式を使用して投稿にシートに列全体BをList型のデータの検証を定義することが可能であるかどうかを知りたいです列は投稿シートで選択した行のウェブサイト列に一致したステータス列の値アクティブがありますか? SQLっぽいまたはLINQっぽい言葉で

:口座から

SELECT IdをWHEREウェブサイト= @ SelectedPostRow.Websiteとステータス=第二の画像が示す値のActive

マークスドロップダウンで表示する必要があります。

答えて

2

はい、これを行うことはできますが、いくつかのサポートセットアップが必要です。

まず、各ウェブサイトオプションについて、作成しようとしているドロップダウンにあるオプションの名前付き範囲を作成する必要があります。これを行うには

、ちょうどそして、あなたはその後、名前付き範囲のpossiblitiesに

をあなたのウェブサイト名のルックアップリストを作成する必要がある範囲

に名前を選択し、セル、右クリックの一覧を強調データ検証ソースは次のようなフォーラムを使用します:

=indirect(vlookup(a1,$i$8:$j$13,2,false)) 

次に、ドロップダウンリストはウェブサイトの価値に基づいて変更されます。

名前付き範囲ビットを自動化する必要がある場合は、列全体を含むように変更し、ピボットテーブルを使用してデータを取り込むことができます。 は、それぞれのウェブサイトオプションに独立したピボットを必要とします。

新鮮なデータを取り込むたびに、ピボットをリフレッシュする必要がありますが、それは機能します。

+0

私はあなたを正しく理解していれば、ウェブサイトの価値ごとにアカウントIDの名前付き範囲を作成する必要があります。これは私のためには機能しません。なぜなら、アカウントシートには新しいアカウントが追加されている可能性があり、そのたびに名前付き範囲を増やしたくないからです。ピボットも、リフレッシュする必要があるため動作しません。私はこれを完全に自動化し、追加の簿記作業を必要としません。そして、Status = Active部分はどうですか? – Stipo

+0

ピボットテーブルは、ステータス=アクティブピースを実行する必要があります。また、自動化できるVBAを使用してピボットをリフレッシュすることもできます。 –

3

この問題は少しの準備が必要です。 同じシート内または別の場所にデータをコピーする(または関連するセルを追加する)

列Aには、ランク付けできる数値があります。

= IF(C2 = $ J $ 2,1,0)* IF(E2 = "アクティブ"、1,0)* ROW()

: 私は(セルA2)でそれを得ました列Bランク数で

と除外する不要な行(B2):

IF

=(A2 = 0,0、RANK(A2、A:A))

その後のことができます。列Gの列挙型を使用してH列のVLOOKUP(手動入力) H1のための式:

= IFERROR(VLOOKUP(G2、$ B $ 2:$ Dの$ 9,3、FALSE)、 "")今、あなたはあなたの検証を設定することができ

列Hに基づいて、

screenshot

PS:私はイタリアからそれらを翻訳していると私は英語でテストすることはできませんとして数式で小さなエラーがある可能性があります。

+1

スマート&エレガント – Israel

関連する問題