1、首先,我们应该知道ISERROR、LEN、IF、FIND等几个函数的基本语法结构: ISERROR(value),注意:函数中value是需要判断真假的表达式或值; LEN(text) ,注意:函数中中text是需要计算长度的文本; IF(logical_test,value_if_true,value_if_false); FIND(find_text,within_text,start_num)。 if和find的英文解释比较清楚,我不再介绍其参数,如果有不懂的可以上网查找。
2、 接下来,我们看工作中遇到的问题:如图1所示,G列单元格中的数亨蚂擤缚字代码有两种形式,一种是数字后面有括号的,一种是没有括号的,并且括号都在数字后面。现在要求我们判断G列中除了括号以外数字位数是否为15位,我们以X7单元格为研究对象,用流程图来分析一下X7单元格中的公式=IF(ISERROR(FIND("(",G7)),IF(LEN(G7)>15,1,IF(LEN(G7)=15,0,1)),IF(FIND("(",G7)=16,0,1)),后面的X8,X9,X10……单元格同样适合图2所示的流程,相信大家看了以后会一目了然,供大家参考。
3、难点解析: 1、流程图中有四个菱形,每个菱形都对应不同的判断条件,我用虚线的注释框标注出来了,读者要重点研究菱形框上面的注释,这样可能更容易理解一些。 2、图中有五处可能返回值得地方,我用结束来标注,读者应重点关注。 3、如果单元格中没有括号这类特殊字符,那么问题就简化了,那么流程图就只剩下第一个判断框(第一个菱形)左面的部分了,公式也就变成了=IF(LEN(G7)>15,1,IF(LEN(G7)=15,0,1))。