Excel数据validation – 超过256个字符限制的公式
我想validation一个用户已经正确地进入了一个CIDR格式的子网,比如192.0.2.0/24。 以下公式正确validation了这个数据:
=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)
但是,它超过了256个字符的限制。 有没有更有效的方法来validation这在Excel中?
仅供参考,CIDR子网是低于256的4个数字,以句点分隔,然后是斜线,然后是一个或两个数字(尽pipe在我的所有用例中都是两个数字)
并自己将返回所需的TRUE
或FALSE
和IF(
不需要。
另外TRIM
当使用--
转换为数字也是不需要的,因为excel会自行忽略多余的空格。
我重构了更简洁一点。
这只有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)