dynamic范围再次 – 与文本string

我有一系列的数据集(稍后将被用于填充combobox),并且我已经尝试设置dynamic范围来仅列出具有有用数据的单元格。 总共有160行数据,但是将要填充的行数将大不相同。

如果它对它有影响(例如,如果dynamic范围检测为非空白,例如),用于填充范围中单元格的公式

 {=IF(ROW()-ROW(StartPort_NoBlanks)+1>ROWS(StartPort_Blanks)-COUNTBLANK(StartPort_Blanks),"",INDIRECT(ADDRESS(SMALL((IF(StartPort_Blanks<>"",ROW(StartPort_Blanks),ROW()+ROWS(StartPort_Blanks))),ROW()-ROW(StartPort_NoBlanks)+1),COLUMN(StartPort_Blanks),4)))} 

(基于@ DennisWilliamson的答案在https://superuser.com/questions/189737/dynamically-updating-list-of-unique-column-entries-in-excel )

到目前为止,我已经尝试了两个

 ='Saves_FilterLookups'!$C$3:INDEX('Saves_FilterLookups'!$C$3:$C$162, COUNTA('Saves_FilterLookups'!$C$3:$C$162)) 

 =OFFSET('Saves_FilterLookups'!$C$3,0,0,COUNTA('Saves_FilterLookups'!$C:$C),1) 

…但都给了我整个列表,包括“空白”单元格。

大部分范围包含文本string; 其他范围之一包含date。

我错过了什么? 我如何解决它?

编辑:给一点上下文,这里是一个列表。 完整列表包含沿其长度分散的条目,重复项被移除到第二列中,并且它们全部合并到第三列中的单个块中。 然后它们被填充到用户表单中的combobox中,但是所有的空白也都进入了…

来源到组合框

这里是一个潜在的解决scheme…警告是上面的单元格需要是空白的

 =IFERROR(INDEX($A$2:$A$13,MATCH(0,INDEX(COUNTIF($B$1:B1,$A$2:$A$13),0,0),0)),"") 

这将生成列表全部在一个步骤sorting和空白删除。

我相信你的COUNTA是你的罪魁祸首。 COUNTA会计算所有的细胞与他们的东西…不幸的是“”是什么。 所以你需要消除“”的数量。 所以我添加了一个-COUNTIF,并假定你之前计算的范围相同。 如果工作表名称全部在同一工作表上完成,则不需要工作表名称。

 =OFFSET('Saves_FilterLookups'!$C$3,0,0,COUNTA('Saves_FilterLookups'!$C$3:$C$162)-COUNTIF('Saves_FilterLookups'!$C$3:$C$162,""),1)