创建跳过空白参考单元格的下拉列表

创建跳过空白参考单元格的下拉列表

我想从同一文件中的另一个工作表创建下拉列表。另一个工作表列出了许多项目,并且有一些标准可能会排除该项目在我的下拉列表中的有用性。

我所做的是创建一个新列,其中包含以下类型的公式:=IF(E3>0,D3,"")其中 D3 是项目的名称。当我将其制作成命名列表以便在另一张工作表中引用它时,我的下拉列表中会出现许多空白。

我找到了这个资源:https://www.contextures.com/xlDataVal08.html这解释了如何动态地延长或缩短列中的项目数,但我实际上想要做的只是跳过空白项目。列长度将保持不变,但有效项目数会发生变化。

对列进行排序,使空白项排在最后,这种做法是不可行的,除非有办法动态地进行这种排序。原因是,随着电子表格的更新,“if”公式的结果将发生变化,一些有效的项将不再有效,而一些无效的列表项将变得有效。因此,我需要列表中可用的项来响应这些公式。理想情况下,如果某个项不再有效,它会将下拉列表重置为顶部项(“选择”,这不是一个会发生变化的列表项),但这只是锦上添花。

答案1

经过进一步搜索后,我发现以下资源与我原始问题中的资源相结合可以给出答案:https://www.myonlinetraininghub.com/excel-remove-blank-cells-from-a-range

使用类似于 =iferror(index(range,small(if(istext(range),row(range),row(A1))),"") 以下的结构可以构造一个没有空单元格的列表,其中range是感兴趣的列表。然后可以应用前面提到的链接,其中列表会动态调整长度(关键是使用来offset()实现这一点)。

需要进行的另一项调整是,我们不能使用它counta()来确定哪些单元格是空的,因为空字符串""读起来不为空。因此,我们需要减去countblank()读作“”为空白的单元格。

相关内容