将多个名称列表添加到Excel中的条件下拉列表中
我正在创build一个电子表格,其下拉菜单包含基于多个单元格的内容,并根据这些条件添加不同的内容。 我一直在寻找过去一小时试图寻找网上的东西(在这里,谷歌等),或者我没有寻找正确的东西,或没有人想过以前尝试过,但无论如何,在这里,我们走:
重点是,在数据validation中,命名组的引用似乎只有单数,但我希望能够添加多个命名组到单个下拉列表取决于可用。 例如,一个下拉框(D1)可以具有基于两个单元格(A1,A2)的值,并且都是下拉本身。 如果A1和A2都表示应该在D1列表中显示某些内容,我希望两者都显示出来(按照我检查单元格的顺序指定)。 这甚至可以使用Excel,如果是这样,我该怎么做呢?
哇,这真的是一个挑战,我很享受这一个! 对不起,第一个答案是不是你需要的,但这应该做的!
所以首先我设置我的表格如下:
然后,我使用数据validation为选项1和2添加了True和False条件
然后我在H列中input公式来创build一个基于选项的新列表
=IF($A$2=TRUE,E2,"") =IF($A$2=TRUE,E3,"") =IF($A$2=TRUE,E4,"") =IF($A$2=TRUE,E5,"") =IF($A$2=TRUE,E6,"") =IF($B$2=TRUE,F2,"") =IF($B$2=TRUE,F3,"") =IF($B$2=TRUE,F4,"") =IF($B$2=TRUE,F5,"") =IF($B$2=TRUE,F6,"")
因此,对于前5个公式,如果选项是A2,则为True,那么它将在列表1中显示适当的项目到dynamic列表中。
对于最后5个公式,如果select是B2,则它将显示列表2中的相应项目到dynamic列表中
例如:
如果A2 = True&B2 = False
如果A2 = False&B2 = True
在这一点上,我意识到dynamic列表中的空格将是一个问题,所以我必须创build一个ARRAY来删除空格。 网上有很多例子可以做到这一点,但这是最简单的公式。 (我不能解释ARRAY公式我每隔一段时间使用它们,但是没有完全理解它们,我对此感到抱歉)
在I2中,我放置了以下ARRAY公式(I2以上的单元必须保持空白)
=INDEX($H$2:$H$11, MATCH(0, IF(ISBLANK($H$2:$H$11), 1, COUNTIF(I1:$I$1, $H$2:$H$11)), 0))
input公式后必须按CTRL + SHIFT + ENTER,使其成为数组公式
然后使用自动填充将公式下拉到I11
然后在C2中,我创build了一个使用数据validation的dynamic下拉列表和一个OFFSET公式来引用包含在索引列表中的有效文本项(OFFSET公式在http://www.ozgrid.com/Excel/DynamicRanges中解释。 htm )
公式是:
=OFFSET($I$2,0,0,MATCH("*",$I$2:$I$11,-1),1)
OFFSET公式用于C2的数据有效性的源字段中
现在,C2中的列表基于A2和B2中的选项是dynamic的
例如:
A2和B2 =假
A2 =真,B2 =假
A2 =真,B2 =真
A2 =假,B2 =真
有可能是另一种方式来做到这一点与VBA(我不是那么伟大),但现在这应该做的! 希望这可以解决你的问题!
这是可能的,我能够做到这一点:
-
在这个例子中,我在列D和E中列出了项目列表:
D列包含字母A,B,C,D
E栏包含E,G,H,I价值观可以是你所需要的。
-
然后,我使用数据validation – >列表引用D列中的列表,在单元格B1中创build了一个下拉列表
-
然后,我使用数据validation – >列表引用E列中的列表,在单元格C1中创build了一个下拉列表
-
然后,我使用数据validation – >列表引用了B1和C1中的下拉列表,在单元格A1中创build了一个下拉列表
这会根据B1和C1中的选定值dynamic更改A1中的下拉列表
在下面的图片中,我select了B和H,它们改变了单元格A1中的列表,使其具有选项B和H.