2016-11-17 51 views
0

我有一个包含项目名称和is_live的表。我想填充条件下拉列表只显示那些具有is_live = 1,表看起来像使用条件值的Excel下拉列表

PROJECT1 | 1 
PROJECT2 | 0 
PROJECT3 | 0 
PROJECT4 | 1 
PROJECT5 | 1 

下拉应该包含PROJECT1,PROJECT4和PROJECT5因为他们有is_live = 1。如果我翻转PROJECT2到1然后应该显示。

我厌倦了创建数据透视表并将is_LIVE作为过滤器。然后我根据数据透视表中的行创建了一个命名列表。除了命名列表不会随着行的增长和缩小而增长或缩小,这种效果很好。

有没有人知道这是可能的Excel?

感谢

+0

我之前完成的一件事是使用VBA宏来填充我的工作簿加载下拉列表的范围。我不确定这是否适合您的情况。 – TyloBedo

+0

如果数据透视表的方法起作用,那么我建议你使用它,但是将你的命名范围改为一个Table(ListObject)。这样,当你的源数据增长或缩小。此链接有一些其他的想法:http://stackoverflow.com/questions/16218332/excel-data-validation-list-using-formula-with-filtering – Hambone

回答

0

从上this question的答案,我相信这样的公式可能做的伎俩

=IF(ISERROR(INDEX($A$1:$A$5,SMALL(IF(1=$B$1:$B$5,ROW($B$1:$B$5)),ROW(1:1)),1)),"",INDEX($A$1:$A$5,SMALL(IF(1=$B$1:$B$5,ROW($B$1:$B$5)),ROW(1:1)),1))

您将要调整的范围,以适应您的电子表格,然后按Ctrl + Shift +输入并向下拖动公式。