Excel自定义数据validation

我必须限制Excel列中的一些无效数据。

以下是validation标准:

  • 应该是一个数字的数字
  • 大小/长度应该等于9

例如:有效:602005514,无效:有,43456等

我已经使用下面的函数创build了一个自定义数据validation。

=AND(LEN(INDIRECT(SUBSTITUTE(ADDRESS(ROW(),COLUMN()),"$","")))=9, ISNUMBER(INDIRECT(SUBSTITUTE(ADDRESS(ROW(),COLUMN()),"$","")))) //here i have to get cell name dynamically. so, i have used ADDRESS function 

但它没有按预期工作。 它不允许任何单元格中的值。 我想这可能是因为LEN函数的循环引用。

我尝试过很多方法,但是无法解决。 请帮我解决这个问题。

你不需要诉诸于INDIRECT等,在你的公式只是参考你正在应用validation.to范围左上angular的单元格。 Excel将调整范围内的其他单元格。 input单元格引用时,不要使用绝对引用,例如$ 's

例如,从单元格A1开始select一个范围,并将数据validation公式设置为

 =AND(ISNUMBER(A1),LEN(A1)=9) 

检查这个简单的validation..检查单元格D13 ..

 =IF(LEN(D13)=9,IF(ISNUMBER(D13),"yes","no"),"no") 

其他方式:

 =AND(ISNUMBER(A1),A1>99999999) 

确保单元格中没有前导或尾随空格:

 =IF(TRIM(A3)=A3,TRUE,FALSE)