我必须在Excel列中限制一些无效数据。
以下是验证标准:
例如:有效: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函数循环引用。
我尝试了很多方法,但无法解决问题。请帮我解决这个问题。
答案 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)