2

商品をn含むカテゴリを取得しました。mこのリストはソートされていません。たとえば、次のようになります。

これが私がこのリストで基本的にやりたいことです:

  1. ドロップダウン:最初の列の各一意の値のリストを動的に保存するデータ検証(=まだ存在しないためCategory_5を選択できません)。

  2. ドロップダウン:最初のドロップダウンで選択したカテゴリに基づいて、すべての製品のリストを提供します。

これに対する非VBAソリューションはありますか?

4

2 に答える 2

2

スプレッドシートレイアウトの例:

  • A2:A13 -カテゴリリスト、アイテムは一意ではありません
  • B2:B13 - 製品一覧
  • Cell D2ダウン-ドロップダウンリスト1ソース、一意のアイテム、動的
  • Cell F2down-ドロップダウンリスト2項目の増分数1..(数式の計算が少ない)
  • Cell G2ダウン-ドロップダウンリスト2ソース、動的
  • Cell I2 -ドロップダウンセル1
  • Cell J2 -ドロップダウンセル2

セル:D2配列数式(Ctrl---数式ウィンドウから入力し、カールした角かっこはユーザーではなくExcelによって挿入されます)、下向きにコピーされます: ShiftEnter

{=INDEX($A$2:$A$13;MATCH(0;COUNTIF($D$1:D1;$A$2:$A$13);0))}

カテゴリの一意のリストを提供します。

セルG2:配列数式、前のセクションの指示に従ってください:

{=INDEX($B:$B;SMALL(IF($A$2:$A$13=$I$2;ROW($A$2:$A$13);"");$F2))} 

セルで選択されたカテゴリの製品のリストを表示しますI2

リストはソートされていません。最初のリストをカテゴリと製品でソートすることをお勧めします。エラー処理なし:数式は句
で更新する必要があります。IF ISERROR

Dynamic_dropdown_lists.xls

于 2012-12-12T00:45:02.130 に答える
0

ExcelでVBAなしで機能させるには、列2のデータ検証の有効なエントリの範囲をリセットする方法が必要です。ソースはリストまたは範囲のみであるため、それを変更するために何かをコーディングする必要があります。関連する列1の値が変更されたときの情報。

VBAルートを使用したくない場合、これらの種類のアクティビティは、Access(またはInfoPath)などのデータベースのニーズに適したものです。

于 2012-12-11T20:36:42.550 に答える