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在我的所有用例中都是两个数字)

并自己将返回所需的TRUEFALSEIF(不需要。

另外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)