麻烦帮我看看这个EXCEL公式哪里有错,谢谢
F2=IF(FIND("语文",A4)>0,B4*C4*D4*8.9/1000000,“”;FIND("英语",A4)>0,{B4-(B4-C4)/2}*(B4-C4)/...
F2=IF(FIND("语文",A4)>0,B4*C4*D4*8.9/1000000,“”;FIND("英语",A4)>0, {B4-(B4-C4)/2}*(B4-C4)/2*0.025*250/1000,“”; FIND("地理,物理",A4)>0, B4*C4*D4*1.2/1000000,“”)
展开
6个回答
展开全部
错误处有以下几点:
标点符号必须都是英文状态下的;
公式中不管有多少层括号,全都是英文状态下的小括号,没有中括号、大括号,大括号只用于表示数组;
FIND函数不能用是否大于0来判断,找不到会返回错误值,所以要加函数判断是否为数值;
多条件判断,要用IF嵌套函数;
这是根据你的公式修改的,看看是否是你的意图:
=IF(ISNUMBER(FIND("语文",A4)),B4*C4*D4*8.9/1000000,IF(ISNUMBER(FIND("英语",A4)),(B4+C4)/2*(B4-C4)/2*0.025*250/1000,IF(ISNUMBER(FIND("地理,物理",A4)),B4*C4*D4*1.2/1000000,"")))
另外,“地理,物理”是连在一起判断么,如果不是,公式要另外处理。
TableDI
2024-07-18 广告
2024-07-18 广告
Excel表格中的计数函数主要用于统计单元格区域中满足特定条件的数值或非空单元格的数量。最常用的计数函数是`COUNT`和`COUNTA`。`COUNT`函数用于统计选定区域内数值型单元格的数量,忽略文本和空单元格。而`COUNTA`函数则...
点击进入详情页
本回答由TableDI提供
展开全部
你的公式中有很多错误,你好好看一下if函数嵌套,我给你列举几个吧
find函数是文本函数,得出的结果是文本,是不能和数值作比较的,
if函数只有三个参数,你为他输入了太多的参数
加减乘除的优先运算,在函数公式里使用不到大括号的,不管几层都是小括号
在函数中输入标点符号,都是英文半角的,你那里还有中文标点。
你先修改一下看还有没有别的问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-10-25 · 知道合伙人软件行家
关注
展开全部
说得直率点,这个公式对IF可以说是用得一塌糊涂。
IF的基本格式是:
=IF(logical_test,[value_if_true],[value_if_false])
即IF中包含3个参数:
参数1:logical_test,逻辑测试,结果为“真”或“假”
参数2:IF为真执行的操作(可以是公式、如继续嵌套IF)或取值或单元格引用
参数3:IF为假执行的操作(可以是公式、如继续嵌套IF)或取值或单元格引用
你对比一下你的公式,可以看出,第1个IF就不知道有几个参数了
这是IF用错。
再就是括号问题,你的公式用了数字运算的括号“{ }”,这在Excel中不允许的,Excel中无论多少层括号,都是“( )”,且必须配对。
再就是你的公式用IF比较麻烦,下面是为你设计的一个相对简单的公式:
=CHOOSE(MATCH(A1,{"语文","英语","地理","物理"},),C1*D1*8.9/1000000,(B1-(B1-C1)/2)*(B1-C1)/2*0.0025*250/1000,B1*C1*D1*1.2/1000000,B1*C1*D1*1.2/1000000)
一个IF都不用,前面用match寻找在A1在数组{"语文","英语","地理","物理"}中的位置,得到数字1、2、3、4,分别对应后面的4个计算式,简单明了,也便于查检各个计算式是否正确。
不过你自己检查下计算式是否有误,测试A1中输入“英语”时,结果为0。
PS:你的贴图是第1行,但说明文字中,公式是第4行。给你的公式按第1行给出的。此外,没用FIND,是看到你另一个提问中说A1中输入的内容直接就是"语文","英语","地理","物理"其中的一个,所以无需用FIND。
IF的基本格式是:
=IF(logical_test,[value_if_true],[value_if_false])
即IF中包含3个参数:
参数1:logical_test,逻辑测试,结果为“真”或“假”
参数2:IF为真执行的操作(可以是公式、如继续嵌套IF)或取值或单元格引用
参数3:IF为假执行的操作(可以是公式、如继续嵌套IF)或取值或单元格引用
你对比一下你的公式,可以看出,第1个IF就不知道有几个参数了
这是IF用错。
再就是括号问题,你的公式用了数字运算的括号“{ }”,这在Excel中不允许的,Excel中无论多少层括号,都是“( )”,且必须配对。
再就是你的公式用IF比较麻烦,下面是为你设计的一个相对简单的公式:
=CHOOSE(MATCH(A1,{"语文","英语","地理","物理"},),C1*D1*8.9/1000000,(B1-(B1-C1)/2)*(B1-C1)/2*0.0025*250/1000,B1*C1*D1*1.2/1000000,B1*C1*D1*1.2/1000000)
一个IF都不用,前面用match寻找在A1在数组{"语文","英语","地理","物理"}中的位置,得到数字1、2、3、4,分别对应后面的4个计算式,简单明了,也便于查检各个计算式是否正确。
不过你自己检查下计算式是否有误,测试A1中输入“英语”时,结果为0。
PS:你的贴图是第1行,但说明文字中,公式是第4行。给你的公式按第1行给出的。此外,没用FIND,是看到你另一个提问中说A1中输入的内容直接就是"语文","英语","地理","物理"其中的一个,所以无需用FIND。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
=IF(count(FIND("语文",A4)),B4*C4*D4*8.9/1000000,if(count(FIND("英语",A4)),(B4-(B4-C4)/2)*(B4-C4)/2*0.025*250/1000,if(count( FIND("地理,物理",A4)), B4*C4*D4*1.2/1000000,"")))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
=IF(FIND("语文",A4)>0,B4*C4*D4*8.9/1000000,IF(FIND("英语",A4)>0, (B4-(B4-C4)/2)*(B4-C4)/2*0.025*250/1000,IF(FIND("理",A4)>0,B4*C4*D4*1.2/1000000,"")))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
发现一处结构错误,if(如果,就,否则)
您的if(在A4中查找语文>0,那么B4*C4*D4*8.9/1000000,否则这里“”)
以上已经是一个IF完整结构了,如果你还想IF,那么需要把下一个FIND放在“”这里,也就是:if(在A4中查找语文>0,那么B4*C4*D4*8.9/1000000,否则find(英语,A4)>0,{B4-(B4-C4)/2}*(B4-C4)/2*0.025*250/1000, FIND("地理,物理",A4)>0, B4*C4*D4*1.2/1000000,"")
最后都不符合条件的情况下才返回“”
我只是发现了IF语句的错误,其他的你参考一下另一个答案,他的比较完整
您的if(在A4中查找语文>0,那么B4*C4*D4*8.9/1000000,否则这里“”)
以上已经是一个IF完整结构了,如果你还想IF,那么需要把下一个FIND放在“”这里,也就是:if(在A4中查找语文>0,那么B4*C4*D4*8.9/1000000,否则find(英语,A4)>0,{B4-(B4-C4)/2}*(B4-C4)/2*0.025*250/1000, FIND("地理,物理",A4)>0, B4*C4*D4*1.2/1000000,"")
最后都不符合条件的情况下才返回“”
我只是发现了IF语句的错误,其他的你参考一下另一个答案,他的比较完整
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |