Excel 验证:如何防止工作簿内全局重复条目?

Excel 验证:如何防止工作簿内全局重复条目?

我想防止在同一工作簿中跨多个工作表重复分配代码。这些条目将手动分配和输入,理想情况下,我希望数据验证出现错误消息并在输入尝试时停止。我正在寻找一种解决方案不涉及 VB或者.xlsm

我参考了多个在线资料——以及SU 帖子 — 但我发现的一切似乎都是在单个工作表参考范围内使用的。

我尝试过自己进行实验,但在尝试引用位​​于多张工作表上的多个范围时,无法使验证工作。然后我想使用一张工作Data表,将工作表输入范围内的所有条目汇总到一个表中,并对该范围应用数据验证。不幸的是,数据验证似乎不会在初始输入时触发;只有当您刷新单元格(例如,F2)时Enter,才会出现错误消息。

如有任何关于如何实现这一目标的建议,我们将不胜感激,谢谢!

答案1

您可以使用 Contextures 文章中列出的技术https://www.contextures.com/xlDataVal03.html

在 A 列的辅助表中建立一个值列表

对于 B 列中计算使用值的公式,您可以使用一个简单的 OR 语句,该语句查看所有使用相同 DV 列表的工作表中所有单元格,例如

=OR(Sheet2!$D$3=A2,Sheet2!$H$5=A2,Sheet3!$B$6=A2,Sheet3!$C$13=A2)+0

任何能够为每个值提供可靠的 1 或 0 的公式都可以。

如果您有 Office 365,则可以用更简单的 Filter() 函数替换 C 列的 Index 函数(文章中建议)。

=FILTER(A2:A8,B2:B8=0)

然后使用公式构建命名范围

=OFFSET(Sheet1!$C$1,1,0,COUNTA(Sheet1!$C:$C),1)

并将该范围名称分配给 DV 单元格作为列表源。

在屏幕截图中,工作表 3 中的一个单元格包含值“AA”,工作表 2 中的一个单元格包含值“FF”。因此,这两个值不再可在 DV 下拉列表中选择。

在此处输入图片描述

相关内容