需要数字 00-00 格式的自定义数据验证

需要数字 00-00 格式的自定义数据验证

我想将单元格中的数据限制为数字 00-00 格式,要求如下:

  1. 第一个和第四个字符需要以“0”或“1”开头
  2. 连字符需要作为第三个字符出现

有人能帮忙解决这个自定义数据验证公式吗?

答案1

可能有更好的方法,但一种(相当蛮力的)方法就是用公式检查特定的模式。

您需要ISNUMBER()检查数字*,并且需要MID(A1,x,1)检查X单元格中的第 位置A1

将这些与一个结合起来AND(),您就可以开始了。

对于 OP 中的特定示例,您可以使用:

=AND(ISNUMBER(MID(C4,1,1)*1),ISNUMBER(MID(C4,2,1)*1),MID(C4,3,1)="-",ISNUMBER(MID(C4,4,1)*1),ISNUMBER(MID(C4,5,1)*1))

*默认情况下,检查文本中的数字不起作用。请参阅这个SE答案如何解决这个问题。

答案2

将其放在您的数据验证自定义公式中:

=AND(MID(A1, 3, 1)="-",
     OR(MID(A1, 1, 1)="0",
        MID(A1, 1, 1)="1"),
     OR(MID(A1, 4, 1)="0",
        MID(A1, 4, 1)="1"))

基本上,你想要的东西必须满足三个条件:

  1. 第三个字符必须是连字符。
  2. 第一个字符必须是01
  3. 第四个字符必须是01

如果您愿意,您可以将其添加到AND以确保输入仅限于五 (5) 个字符。

LEN(A1)=5

并且不要忘记您必须将单元格格式化为TEXT,否则它将总是翻译为日期(虽然我怀疑你想要的也是日期格式)

相关内容