Excel数据validation列表使用公式进行过滤

我有以下工作簿:

工作表帐户

帐户工作表

工作表文章

帖子工作表

我想知道是否有可能使用公式来定义表格types的数据validation到整个列B中的表格数据,以便数据validationpopup窗口只显示帐户表中的帐户表,其中的网站列与post中所选行的网站列相匹配工作表“,并在” 状态“列中显示”有效“

在SQL-ish或LINQ-ish字词中:

SELECT Id FROM Accounts WHERE Website = @ SelectedPostRow.Website AND St​​atus = Active

第二张图片上的标记显示了应该在下拉菜单中显示哪些值。

这个问题需要一点准备。 在同一张或另一张中,复制您的数据(或添加相关的单元格)

在A栏你有一个可以排名的数字。 我用(单元格A2)获得了它:

= IF(C2 = $ $Ĵ2,1,0)* IF(E2 = “活动”,1,0)* ROW()

在列B中排列数字并排除不需要的行(B2):

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

然后你可以在列H中使用列G中的枚举(手动input)来VLOOKUP。 H1的公式:

= IFERROR(VLOOKUP(G2,$ B $ 2:$ d $ 9,3,FALSE), “”)

现在,您可以根据列H设置validation

截图

PS:在公式中可能会有小错误,因为我已经从意大利语翻译过来,我不能用英文testing。

是的,你可以做到这一点,但它需要一些支持设置。

首先为您的每个网站选项,您需要创build一个命名范围的选项,将在下拉,你正在寻求创build。

要做到这一点,只需突出显示单元格列表,然后右键单击,select名称范围

然后,您需要为您的网站名称创build一个查找列表到命名的范围可能性

然后在你的数据validation源使用这样的论坛:

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

那么whala,下拉列表根据网站价值而改变。

现在,如果您还需要自动化已命名的范围位,则可以将它们更改为包含整个列,然后使用数据透视表来提取数据。 只需要为每个网站选项提供一个独立的支点。

每次你提取新的数据,你都需要刷新枢轴,但是它会起作用。