excel的if函数有三个条件怎么用?
A列是国考、省考、市考,2行中分别是分值,怎么用函数表达出,如果这个考试包含“国考”,对的题数乘以国考的分值,如果是“省考”,对的题数乘以省考的分值,如果是“市考”,对的...
A列是国考、省考、市考,2行中分别是分值,怎么用函数表达出,如果这个考试包含“国考”,对的题数乘以国考的分值,如果是“省考”,对的题数乘以省考的分值,如果是“市考”,对的题数乘以市考的分值呢?
下面这个是我做的,市考的能出来,但是省考和国考就是#####
=IF(FIND("市考",F29),H29*H5,IF(FIND("省考",F29),H29*H4,IF(FIND("国考",F29),H29*H3))) 展开
下面这个是我做的,市考的能出来,但是省考和国考就是#####
=IF(FIND("市考",F29),H29*H5,IF(FIND("省考",F29),H29*H4,IF(FIND("国考",F29),H29*H3))) 展开
3个回答
2018-04-16 · 知道合伙人软件行家
关注
展开全部
试试公式:
=INDEX(H$3:H$5,MATCH(,0/FIND({"国考","省考","市考"},F29),))*H29
同时按Ctrl+Shift+Enter三键输入数组公式
因为没有看到你的工作表是怎样的,公式不一定适合你的情况。
你自己的公式修改成:
=IF(ISNUMBER(FIND("市考",F29)),H29*H5,IF(ISNUMBER(FIND("省考",F29)),H29*H4,IF(ISNUMBER(FIND("国考",F29)),H29*H3,"")))
应该也是可以的。
原公式出错的原因是:当F29找不到“市考”时,返回的不是false,而是一个错误值,导致公式出错。后面的省考也是一样的。对FIND加上一个isnumber(是数字吗?)的判断后,FIND发现有查找的内容时,返回数字,isnumber(find("查找内容",单元格))就返回ture,否则找不到,就返回false。这样公式就不会出错了。
展开全部
你看下你下拉的公式,我估计你的公式智能填充的时候H5,H5,H3发生乐变化。如果要固定单元格位置,你要在前面加个$。例如:=IF(FIND("市考",F29),H29*H$5,IF(FIND("省考",F29),H29*H$4,IF(FIND("国考",F29),H29*H$3)))。这样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把公式改为:
=H29*LOOKUP(1,FIND({"市考","省考","国考"},F29),$H$3:$H$5)
复制并下拉,即可
=H29*LOOKUP(1,FIND({"市考","省考","国考"},F29),$H$3:$H$5)
复制并下拉,即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询