Excel自定义数据验证

时间:2013-07-17 04:27:38

标签: excel excel-2007

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

以下是验证标准:

  • 应为数字数字
  • 尺寸/长度应等于9

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

我使用以下功能创建了自定义数据验证。

=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函数循环引用。

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

4 个答案:

答案 0 :(得分:2)

您不需要诉诸INDIRECT等,在您的公式中,只需参考您应用validation.to的范围中的左上角单元格。 Excel将调整范围内的其他单元格。输入单元格引用时不要使用绝对引用,即不使用$

例如,选择从单元格A1开始的范围,并将数据验证公式设置为

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

答案 1 :(得分:0)

检查这个简单的验证..检查Cell D13 ..

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

答案 2 :(得分:0)

另一种方式:

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

答案 3 :(得分:0)

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

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