0

我必须限制 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

4 回答 4

2

您不需要求助于INDIRECT等,在您的公式中,只需引用您正在应用验证的范围内的左上角单元格。Excel 将针对该范围内的其他单元格进行调整。输入单元格引用时不要使用绝对引用,即$没有

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

=AND(ISNUMBER(A1),LEN(A1)=9)
于 2013-07-17T05:49:06.360 回答
0

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

=IF(LEN(D13)=9,IF(ISNUMBER(D13),"yes","no"),"no")
于 2013-07-17T04:39:24.780 回答
0

另一种方式:

=AND(ISNUMBER(A1),A1>99999999)
于 2013-07-17T11:13:56.700 回答
0

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

=IF(TRIM(A3)=A3,TRUE,FALSE)   
于 2015-06-17T22:03:58.763 回答