基于多个条件的数据验证

时间:2019-08-15 17:42:29

标签: excel excel-formula

无法在单个单元格中编译所有公式以验证数据

查看了其他具有类似请求的帖子,但是我仍然无法弄清楚尝试将它们串在一起的错误

唯一条目的 =COUNTIF($A$2:$A$3000, A2)<=1

最多15个字符 =A2>15

不以空格开头 =IF(OR(LEFT(A2,1)=" "),FALSE,TRUE)

没有标点符号 =ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")))

试图使用=OR将它们串在一起,但是似乎不起作用。这是我尝试过的。

=OR(AND(A2>15),AND(COUNTIF($A$2:$A$3000,A2)<=1),AND(IF(OR(LEFT(A2,1)=" "),FALSE,TRUE)),AND(ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")))))

我不明白并且可能是我的问题的另一件事是,我需要这样做来检查A2:A3000我的公式除了唯一的条目外没有考虑到这一点,但是数据验证会考虑到这一点,还是会公式需要查看所有单元格?希望这有道理。

1 个答案:

答案 0 :(得分:0)

您只能使用AND:

=AND(ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))),LEFT(A2,1)<>" ",LEN(A2)<=15,COUNTIF($A$2:$A$3000, A2)<=1)

将其应用于整个范围,但相对地指向左上方的单元格。