B2是 500万高清枪机B3是500万高清球机公式是=IF(FIND("枪",B2),"枪机","球机")为什么枪机返回正常,球机不能返回呢?
材料/工具:Excel2007
1、打开Excel2007如下图想通过函数返回教语文或者数学的老师的名次
2、首先用find函数确定a列数据是否包含语文或者数学。
3、如果包含find函数将返回语或者数再文本字符串中处于第几位。
4、如果科目中不包含语文或者数学,find函数将返回#value!错误值。
5、isnumber函数是一个逻辑判断函数,判断参数是不是数值,如果是返回真,如果不是返回假,两个逻辑值相加,可以将逻辑值转换成0和1参与运算,加号代表两个逻辑值之间的关系是满足一个即可,也就是或者的关系。
6、最后最外层的if函数是这样的如果满足条件将返回,名次,否则返回第三个参数。
首先,find函数返回的是 数字,比如说 find(“枪”,B2),这个函数返回的值应该是“10”,即“枪”位置是这段文字的第十个。。。反思一下你的公式相当于:if(10,“枪机”,“球机”),if是个判断函数,这个“10”没有任何判断的东西,所以,if函数默认,无论你的值是啥,都返回“枪机”(即选择第一个选项“枪机”,不鸟第二个选项“球机”)。
正常的公式应该是 if(iserror(find("枪",B2,1))=false,“枪机”,“球机”),iserror()函数是判断 它括号里的 值是不是有问题 的一个函数,如果find函数有问题(即没有发现“枪”字),find函数就懵逼了,没发现“枪”字,于是find函数,就成为一个“有问题”的函数。
iserror函数 的 作用,对于任何 它括号里的 函数只会做两个判断,一个“false”,即我括号里这个哥们有问题;“true”,我括号里这哥们很正常。
所以,我刚才写的公式: if(iserror(find("枪",B2,1))=false,“枪机”,“球机”),翻译一下就是 if(若find函数这哥们不正常,返回“枪球”,否则返回“球机”)。