答案1
我建议使用 Helper Table 类型的列。查看下面的屏幕转 GIF 并检查这是否是您想要的。
在我的示例中,示例表名为 Table24。在单元格 H5 中输入以下公式,然后按公式栏中的CTRL+ SHIFT+ENTER创建数组公式。它将自动括在花括号中。
=IFERROR(INDEX(Table24[Name],SMALL(IF(Table24[Shipping]="Y",ROW(Table24[Shipping])-ROW($F$4),9^99),ROW()-ROW($F$4))),"")
将其向下拖动到所需的行。理想情况下,其长度应等于作业表的整个长度,甚至尽可能延伸。
将此数据转换为表格。在我的示例中,它被命名为 Table4。
在名称管理器中创建一个名称并将此表[列]分配给它。在我的示例中,该名称是 My_List。
单元格 I5 有数据验证。现在在数据验证中选择列表并输入以下公式,引用表 4 的名称(My_List)
=OFFSET(H5,0,0,MIN(IF(My_List="",ROW(My_List)-ROW(H5),9^99)))
但是如果您计划将此验证复制到多个单元格,那么最好使用绝对引用。
=OFFSET($H$5,0,0,MIN(IF(My_List="",ROW(My_List)-ROW($H$5),9^99)))
下拉菜单现在应该只有过滤列表,没有空白。希望这能有所帮助。
以防万一,数据验证列表中使用 SUMPRODUCT 的公式的更简单版本。
=OFFSET($H$5,0,0,SUMPRODUCT((My_List<>"")*1))