Excel数据验证-公式超过256个字符的限制

Excel数据验证-公式超过256个字符的限制,excel,validation,Excel,Validation,我想验证用户是否正确输入了CIDR格式的子网,例如192.0.2.0/24。以下公式可正确验证此数据: =AND(--LEFT(F6,FIND(".",F6)-1)<256, --TRIM(MID(SUBSTITUTE(F6,".",REPT(" ",99)),99,99))<256, --TRIM(MID(SUBSTITUTE(F6,".",REPT(" ",99)),198,99))<256, --MID(TRIM(MID(SUBSTITUTE(F6,".",REPT("

我想验证用户是否正确输入了CIDR格式的子网,例如192.0.2.0/24。以下公式可正确验证此数据:

=AND(--LEFT(F6,FIND(".",F6)-1)<256,
--TRIM(MID(SUBSTITUTE(F6,".",REPT(" ",99)),99,99))<256,
--TRIM(MID(SUBSTITUTE(F6,".",REPT(" ",99)),198,99))<256,
--MID(TRIM(MID(SUBSTITUTE(F6,".",REPT(" ",99)),297,99)),1,FIND("/",TRIM(MID(SUBSTITUTE(F6,".",REPT(" ",99)),297,99)))-1)<256,
--MID(F6,FIND("/",F6)+1,2)<33)

=和(--LEFT(F6,FIND(“.”,F6)-1)
本身将返回所需的
TRUE
FALSE
如果(
不需要)

另外,使用
--
转换为数字时也不需要
TRIM
,因为excel本身会忽略额外的空格

我对forth进行了重构,使其更加简洁

这只有243个字符:

=AND(--LEFT(F6,FIND(".",F6)-1)<256,--MID(SUBSTITUTE(F6,".",REPT(" ",99)),99,99)<256,--MID(SUBSTITUTE(F6,".",REPT(" ",99)),198,99)<256,--MID(SUBSTITUTE(SUBSTITUTE(F6,".",REPT(" ",99)),"/",REPT(" ",99)),297,99)<256,--MID(F6,FIND("/",F6)+1,2)<33)

=和(--LEFT(F6,FIND(“.”,F6)-1)您不需要
IF(
,TRUE)
部分。
本身将返回TRUE或false是的,我在发布后意识到了这一点,但仍然无法接近256个字符。:-(您看到我下面的答案了吗?它在243处:
=和(INDEX(--MID)(替换)(替换为(F6,“.”,REPT(“,99)),“/”,REPT(“,99)),{1,99198297396},99)@tigeravatar我认为这不能用作自定义数据验证,因为它不允许数组常量。但将其放在helper列中,然后使用对该列的引用可能会起作用。