excel的if函数有三个条件怎么用?

A列是国考、省考、市考,2行中分别是分值,怎么用函数表达出,如果这个考试包含“国考”,对的题数乘以国考的分值,如果是“省考”,对的题数乘以省考的分值,如果是“市考”,对的... A列是国考、省考、市考,2行中分别是分值,怎么用函数表达出,如果这个考试包含“国考”,对的题数乘以国考的分值,如果是“省考”,对的题数乘以省考的分值,如果是“市考”,对的题数乘以市考的分值呢?

下面这个是我做的,市考的能出来,但是省考和国考就是#####

=IF(FIND("市考",F29),H29*H5,IF(FIND("省考",F29),H29*H4,IF(FIND("国考",F29),H29*H3)))
展开
 我来答
退休画线工
2018-04-16 · 知道合伙人软件行家
退休画线工
知道合伙人软件行家
采纳数:5410 获赞数:27001
1981年毕业于湖南大学,从事化工设计30多年,精于工程设计

向TA提问 私信TA
展开全部

试试公式:

=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。这样公式就不会出错了。

kohaddf
2018-04-16 · 超过47用户采纳过TA的回答
知道小有建树答主
回答量:126
采纳率:66%
帮助的人:41万
展开全部
你看下你下拉的公式,我估计你的公式智能填充的时候H5,H5,H3发生乐变化。如果要固定单元格位置,你要在前面加个$。例如:=IF(FIND("市考",F29),H29*H$5,IF(FIND("省考",F29),H29*H$4,IF(FIND("国考",F29),H29*H$3)))。这样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我来也xsczd
科技发烧友

2018-04-16 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:1.2万
采纳率:66%
帮助的人:1967万
展开全部
把公式改为:
=H29*LOOKUP(1,FIND({"市考","省考","国考"},F29),$H$3:$H$5)
复制并下拉,即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式