用于validation单元格格式的Excel公式

我在英格兰为NHS工作,而且我经常需要validation我收到的很长的NHS号码列表。是否有一个公式可以复制,或者与Access的“Like”或“Not Like”等效/相似。

具体而言,NHS号格式为nnn nnn nnnn? 如何在列表中find不符合此格式的值?

我们可以检查IF包含的AND命令中的多个条件:

  1. 第四个字符是空格
  2. 第八个字符是空间
  3. 前3个数字是数字
  4. 5至7个字符是数字
  5. 最后3个字符是数字
  6. 长度是12

注意:有10个数字不会产生一个有效的NHS号码。 此外,有效的NHS号码并不意味着存在。

 =IF( AND( MID(A1,4,1) = " ", MID(A1,8,1) = " ", ISNUMBER( VALUE( LEFT(A1,3))), ISNUMBER( VALUE( MID(A1,5,3))), ISNUMBER( VALUE( RIGHT(A1,4))), LEN(A1) = 12 ), "valid", "invalid" ) 

在这里输入图像说明

或者我们可以使用VBAfunction, 这里看一个例子

一个简单的方法就是使用自定义的自动filter。 为此,只需激活表格的filter,然后在filter选项中select“自定义filter”。 它会给你一个选项窗口,在那里你可以select你想要采用哪个标准来筛选你的数据,只保留一个'XXX_XXX_XXXX'格式的数据。

你可以看这个链接关于这些filter的可能性的更多信息。

如果您不能使用filter,但您需要一个公式,则可以使用以下公式检查数据是否符合您所需的格式:

 =MATCH("??? ??? ????"; A1;0) 

如果数据对应于XXX_XXX_XXXX格式(X可能是字母或数字,因为您在这里没有对您的问题进行确切的说明),它将返回1。