数据验证列表过滤通过数据的列

问题描述:

例子:数据验证列表过滤通过数据的列

A  B 
Item 1 TRUE 
Item 2 FALSE 
Item 3 TRUE 
Item 4 FALSE 

我想用公式(不使用宏)来创建数据验证列表,将返回从A列在B列有真正的唯一项目在这个例子中,列表将包含项目1和项目3.我尝试了列表中的以下公式(基于此question),但没有运气。

Excel的抱怨来源目前正在评估一个错误这个公式:

=IF(B1:B4=TRUE,A1:A4,"") 

这将导致没有错误,但返回的列表仅包含第1项:

=INDEX(A1:A4,SUMPRODUCT(MATCH(TRUE,(B1:B4)=TRUE,0)),1) 

应该是很简单的,但目前还没有运气。

C1输入:

=IF(B1,1,"") 

C2输入:

=IF(B2,1+MAX($C$1:C1),"") 

和复制下来。在D1输入:

=IFERROR(INDEX(A:A,MATCH(ROW(),C:C,0)),"") 

和复制下来。

enter image description here

然后用柱dDV名单。

+0

这有效,但现在我的DV列表还包含空白值,如果我使用孔列D作为源。我可以将列表硬编码为D1:D2,但我想灵活... – Ross

+0

创建一个动态范围并使用该范围来驱动验证列表 – smackenzie

+1

通过动态范围,我的意思是把它作为数据验证源的公式“= OFFSET($ D $ 1,0,0,COUNTA($ D:$ D),1)” – smackenzie