如何根据另一个下拉列表中的选择创建动态(更改)下拉列表

时间:2017-12-11 16:46:03

标签: excel excel-formula

我已经使用这个问题来构建我的下拉列表,但我想知道这是否可以用来根据另一个列表的选择更改一个列表。

这里的问题是: Data validation - Drop down list with no duplicates in excel

在我的电子表格中,我有这样的列:

Clients    Stores

Client1    Store1
Client2    Store2
Client3    Store3
...        ...

在“客户端”列表中,选择“client1”。我想只显示从client1购买的商店(比如Store2和Store6)。此列表将不断更新,新客户端和商店将添加到列表中。我该怎么做呢?

谢谢

编辑:

这是我用来创建列表的基本公式:

=IFERROR(INDEX(A$2:INDEX(A:A, MATCH("zzz",A:A )), MATCH(0, COUNTIF(Z$1:Z1, A$2:INDEX(A:A, MATCH("zzz",A:A ))&""), 0)), "")

编辑#2:

这里更好地展示了我的数据:

Order ID  Order Date   Client      Store
1234      MM/DD/YYYY   Client1     Store6
5678        ....       Client4     Store3
9101                   Client3     Store6
5432                   Client2     Store1

1 个答案:

答案 0 :(得分:1)

基于此样本数据:

 A       B        C      D
order   date    client  store
1234            Client1 Store1
6543            Client2 Store1
5432            Client3 Store2
3214            Client1 Store3
9876            Client2 Store2
8765            Client4 Store5
7654            Client3 Store3

我在列F中创建了一个客户列表,其公式为:=IFERROR(INDEX($C$2:$C$8, MATCH(0,COUNTIF($F$1:F1, $C$2:$C$8), 0)),"")(粘贴到F2和CTRL + Shift + Enter,然后向下拖动公式,直到客户名称停止显示)。您需要根据数据调整列和行。因此,如果您的客户端数据来自C2:C10000使用它而不是C2:C8。这导致:

  A       B        C      D     E     F
order   date    client  store       HideMe
1234            Client1 Store1      Client1
6543            Client2 Store1      Client2
5432            Client3 Store2      Client3
3214            Client1 Store3      Client4
9876            Client2 Store2      
8765            Client4 Store5      
7654            Client3 Store3      

然后我突出显示了HideMe列表并为其命名。我建议使用动态范围命名列表,以便于在路上进行维护。否则,每次将新客户端添加到数据时,您都需要进入并更改命名范围。我将我的范围命名为ClientList

我创建了一个带有= ClientList的数据验证下拉列表,该列表导致只有每个客户端列出一次的下拉列表。

我把这个下拉列入H2。

然后我在G列中放入以下公式,根据我们在H2中的下拉列表的值创建一个唯一商店列表:=IFERROR(INDEX($D$2:$D$8, MATCH(0, IF($H$2=$C$2:$C$8, COUNTIF($G$1:$G1, $D$2:$D$17), ""), 0)),"")与其他公式一样,CTRL + Shift +输入并替换范围以方便你的数据结构。将公式向下拖动一段时间。当您在H2中填充下拉列表时,列表将动态更新,因此它仅包含与所选客户端匹配的商店。创建动态命名范围或在列G中选择足够的范围以适应您的匹配选项并命名范围。我将我的名字命名为ClientStores。

在Cell I2中,我创建了第二个下拉列表,其中包含Data Validation = ClientStores

然后,您可以隐藏列F和G,这样您就可以获得数据和两个下拉菜单。

Client Dropdown Example Stores Dropdown Example1 Stores Dropdown Example2