【问题标题】:Data Validation for Unique Record and Specific Digit length唯一记录和特定数字长度的数据验证
【发布时间】:2014-12-06 15:31:51
【问题描述】:

我想对单元格应用数据验证。当用户输入数值数据验证时,应检查其长度为 13 位。如果长度大于或小于 13 位,则消息应显示“请输入 13 位值”或不接受该值。如果长度等于 13 位,则公式检查在该范围内重复。如果发现重复记录,则应显示一条消息“请仅输入唯一记录”。

我正在使用这个公式,但它不能正常工作...

=IF(LEN(A:A)=13,IF(COUNTIF(A:A,A1)>1,"重复",IF(LEN(A:A)13,"请输入13位数字" ,"请输入13位")))

在此先感谢...

【问题讨论】:

  • 答:答?有这样的细胞吗?
  • 第一件事不要使用,使用 | (管道),其次你的条件不符合预期的结果。为什么要打印两次“请输入 13 位”
  • 您不能使用内置的数据验证工具吗?

标签: excel


【解决方案1】:

我认为,如果在 B1 中输入并复制下来,您的公式的这个清理版本将满足您的需求。它只标记第二次出现的重复项:

=IF(LEN(A1)=13,IF(COUNTIF($A$1:A1,A1)>1,"duplicate",),"Please enter 13 digit")

对于数据验证,我认为你能做的最好的就是结合这两个条件,比如:

=AND(LEN(A1)=13,COUNTIF($A$1:A1,A1)=1)

并使用错误消息,例如“请输入 13 位非重复值”

【讨论】:

  • Fwiw,OP Len(A:A) 是有效的。它叫implicit intersection
  • @chrisneilsen,有趣的一点。一般来说,我只有在有理由的情况下才会使用它,否则很难理解。具体来说,在对 Data Validation 的简要测试中,它似乎只是指 A1 中的值。我在两个方向都进行了测试,即 A2 中的无效数据未经过验证,但 A1 中的无效数据即使 A2 有效也会导致 A2 验证错误。顺便说一句,您对我的回答总体感觉如何?
【解决方案2】:

假设 A2 是输入值的单元格,B2:B4 是值的范围,输入的值是整数,使用这个:

=IF(LEN(A2)<>13|"Not 13 Digits"|IF(COUNTIF(B2:B4|A2)>1|"DUPLICATE"|A2))

【讨论】:

  • 告诉我它是否有用。如果是,请将其标记为答案。贪婪的我:P
  • 为什么是管道符号?在美国是逗号,在其他一些地区是分号,但我以前没见过管道。我认为您不应该假设 OP 就是这种情况。
  • 哦,可能是这样。我没怎么用过excel。当我使用“,”时,发生公式错误。工具提示向我展示了 Pipes,因此我使用并建议了它们。我的错。
猜你喜欢
  • 2016-01-29
  • 2017-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多