从验证列表中删除项目(如果已选择)



我有一个在数据验证列表中使用的资产列表。我可以使用标准mehtod来检查它是否与以下辅助列一起使用:

  1. =IF(COUNTIF(Schedule!$B$2:$B$7,A1)>=1,"",ROW())

,然后使用创建未使用名称列表

  1. =IF(ROW(A1)-ROW(A$1)+1>COUNT(B$1:B$6),"",INDEX(A:A,SMALL(B$1:B$6,1+ROW(A1)-ROW(A$1))))

然后我使用以下内容创建一个名称范围:

  1. =OFFSET(Assets!$C$1,0,0,COUNT(Assets!$B$1:$B$6),1)

都很标准。这对于应用数据验证的单个列来说效果很好。我的问题是,我希望能够跨3列应用数据验证。本质上,如果在3列中的任意一列中选择了该值,我希望将其从验证列表中删除。

我曾尝试用COUNTIFS和多个条件/范围替换第1行中的COUNTIF函数,但我无法使其工作。

如有任何协助,我们将不胜感激。

干杯

尽管你的公式可能都是普通的,但你确实通过提供不匹配的引用来模糊它们在项目中的应用。最后,我只是创建了一个竞争系统,现在我必须要求您适应您的项目。

在我的项目中,我将所有数据放在同一张表上,这张表被称为"时间表"。正因为如此,Excel在公式中省略了我没有明确插入的工作表名称。当您调整我的解决方案时,请在引用其他选项卡上的范围时添加工作表名称。

资产列表在B4:B9的范围内。具有数据验证的单元格在C4:E9范围内,Helper范围为G4:G9,从中获取验证列表的范围为K4:K9。对于此设置,这是所需的"验证列表"公式。

=OFFSET($K$4,0,0,COUNT($G$4:$G$9),1)

下面是要向下复制到K9的单元格K4的公式。

=IF(ROW()-ROW(A$4)+1>COUNT(G$4:G$9),"",INDEX($B:$B,SMALL(G$4:G$9,ROW()-ROW(A$4)+1)))

现在,这里是一个有实际变化的公式。它现在可以在3列中的任何一列中找到资产名称的使用,并进行数据验证(C:E(。

=IF(COUNTIF(Schedule!$C$4:$E$9,$B4),"",ROW())

解决方案的简单性与我找到它的困难不成比例。正如我所说,我对你的引用感到困惑。也许出于同样的原因,你没有找到这个简单的解决方案,现在你自己也面临着一场艰苦的战斗。如果是这样,就放弃现有的解决方案,实现我提供的解决方案。要使两者匹配可能太难了。如果你需要任何帮助,请告诉我。

相关内容

  • 没有找到相关文章

最新更新