教您利用WPS表格检测输入数据的正确性
二:限制手机号只能输入阿拉拍数字
某单元格用于存放手机号码,为了防范输入错误,同样可以利用数据有效性进行相应的约束。手机号码的特点是:每一个字符都是阿拉伯数字,不包括小数点,这与成绩分数不同;位数为11位。对手机号每个字符都进行检测,需要用到数组运算,而WPS2005表格的数据有效性公式中不支持数组运算,所以不能像前例一样直接在有效性公式窗口输入公式。而是借助辅助单元格,同时打开迭代计算来达到目的。
步骤1.打开菜单“工具”|“选项”|“重新计算”,按以下方式设置(见图4)。

图4
步骤2.本例手机号码存于C8单元格,则将D8做为辅助单元格格,在其中输入公式: =AND(NOT(ISERROR(FIND(MID(C8,ROW(INDIRECT("1:"&LEN(C8))),1),"0123456789"))),LEN(C8)=11)
公式含义: NOT(ISERROR(FIND(MID(C8,ROW(INDIRECT("1:"&LEN(C8))),1),"0123456789")))表示每一位字符必须是阿拉伯数字;LEN(C8)=11表示必须为11位。当然也可自己再加条件,例如字符“13”开始之类。
步骤3.开启菜单“数据”|“有效性”|“有效性条件”,在“允许”处选择“自定义”;在公式处输入“=D8=TRUE”,并在出错警告选项卡输入信息“你输入的不是阿拉伯数字或者不是11位,请重新输入!”
测试:在单元格中输入一个错误的号码“I3512345566”,已被系统阻止(见图5)。

图5
三:限制指定位数只能是数字
与前两例不同,本例可以自定义从某位数开始某位数结束限制为数字。
先看实例(见图6),起始位和结束位单元格可以随意定义,只要结束位不小于起始位即可。目的是设置完后手机型号单元格的指定位数只能是阿拉伯数字,否则阻止输入。

图6
步骤1.仍然开启迭代计算
步骤2.手机型号下面单元格做为辅助单元格,输入公式: =OR(ISERROR(FIND(MID(B6,ROW(INDIRECT(C6&":"&D6)),1),"0123456789")))=FALSE
公式含义:利用数组运算查找指定字符是否位于“0123456789”,有一个在范围之外则返回逻辑值FALSE.
步骤3.开启菜单“数据”|“有效性”|“有效性条件”,在“允许”处选择“自定义”;在公式处输入=B7=TRUE;出错警告处之样式选择停止,再输入提示信息:“你输入的数据指定位数不是数字,请重新输入”。
测试:在单元格输入“诺基亚-831”,系统立即阻止(见图7)。

图7

