Excel中IF与FIND函数结合的返回值?

B2是 500万高清枪机B3是500万高清球机公式是=IF(FIND("枪",B2),"枪机","球机")为什么枪机返回正常,球机不能返回呢?

材料/工具:Excel2007

1、打开Excel2007如下图想通过函数返回教语文或者数学的老师的名次

2、首先用find函数确定a列数据是否包含语文或者数学。

3、如果包含find函数将返回语或者数再文本字符串中处于第几位。

4、如果科目中不包含语文或者数学,find函数将返回#value!错误值。

5、isnumber函数是一个逻辑判断函数,判断参数是不是数值,如果是返回真,如果不是返回假,两个逻辑值相加,可以将逻辑值转换成0和1参与运算,加号代表两个逻辑值之间的关系是满足一个即可,也就是或者的关系。

6、最后最外层的if函数是这样的如果满足条件将返回,名次,否则返回第三个参数。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-09-05

首先,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函数这哥们不正常,返回“枪球”,否则返回“球机”)。

第2个回答  推荐于2017-09-10
find函数如果找到了,给出的是找到字符的起始位置,是数值,不是T/F值,所以你的公式这样设不行,我猜你是想要在b2找是否含有“枪”,如果是,则显示“枪机”,否则显示“球机”。

可以添加一个iserror函数,将公式改成:=if(iserror(find("枪",b2)),"球机","枪机")。本回答被网友采纳
第3个回答  2015-08-17
  FIND函数当查找到的时候返回位置,查不到的时候返回错误值,不能作为不成立条件来看待。
  =IF(ISNUMBER(FIND("枪",B2)),"枪机","球机")
第4个回答  2015-08-17
这是因为你用的FIND函数有关,如果能够找到“枪”,那么就返回基所在的位置。如果找不到,那么直接返回错误信息。

公式需要修改如下:
=IF(ISERROR(FIND("枪",B2)),"球型","枪型")本回答被提问者采纳