excel中if的函数怎么用

A1 A日期 B1 B日期
初 级 2008-1-1 中 级 2012-1-1

A1=初级,B1要=中级,B日期=A日期+4年;
A1=中级,B1要=高级,B日期=A日期+5年;

初级转中级,中级转高级解决了,谢谢 zhuzhongsu
现在是日期问题,我这里有一段代码需要修改一下
A1 A2
2011-1-26 0年整
1980-1-26 31年整 注:A2的代码如下 TODAY()是系统日期
=IF(AND(MONTH(TODAY())=MONTH(A1),DAY(TODAY())=DAY(A1)),DATEDIF(A1,TODAY(),"y")&"年整",DATEDIF(A1,TODAY(),"y")&"年"&IF(DATEDIF(G9,TODAY(),"ym"),DATEDIF(A1,TODAY(),"ym")&"个月","零")&IF(DATEDIF(A1,TODAY(),"md"),DATEDIF(A1,TODAY(),"md")&"天","整"))

我需要在A2里显示4年整或5年整 4年还是5年取决与初级还是中级
(注A2是倒计时)

求助高手

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-26
来源是网上收集,楼主最好写出你具体需要怎样运用if函数,就百度知道上就有很多现成的例子。
IF:是执行真假值判断,根据逻辑测试的真假值返回不同的结果。 语法结构:IF(条件,结果1,结果2) 二、操作方法

打开所需软件Excel,输入所需的的表格,再找到所填等级资料的第一行,然后,找到工具栏的的“fx”或者点菜单“插入”→“fx函数” →在出现的粘贴函数窗口中选择“全部” →移动滚动条选择“IF”此时出现IF函数编辑窗口,在第一个文本框内输入第一个条件,第二个文本框内输入第一个条件结果,第三个文本框内输入以后所有的条件并相应的结果。如公式: IF(B2>89,"A",IF(B2>79,"B",IF(B2>69,"C",IF(B2>59,"D","F")))) 第一条件B2>89,第一条件结果"A",第三个文本框输入:IF(B2>79,"B",IF(B2>69,"C",IF(B2>59,"D","F"

第二个方法是在编辑公式栏内直接输入以下的公式。 三、示例 1、在学生成绩工作表中,单元格 B2中包含计算当前成绩等级的公式。如果 B2 中的公式结果大于等于 60,则下面的函数将显示“及格”,否则将显示“不及格”。 条件 结果1 结果2 IF(B2>=60,"及格","不及格") 2、如果要给以学生成绩为名称所引用的数字设置字母级别,请参阅下表:

学生成绩统计情况
大于 89 A或优

80 到 89 B或良

70 到 79 C或中

60 到 69 D或及格

小于 60 F或差

可以使用下列嵌套 IF 函数:
IF(B2>89,"A",IF(B2>79,"B",IF(B2>69,"C",IF(B2>59,"D","F"))))

IF(B2>89,”优”,IF(B2>79,”良”,IF(B2>69,”中”,IF(B2>59,”及格”,”差”))))
还有一种方法为:

IF(B2<60,”F”, IF(B2<=69,"D", IF(B2<=79,”C”, IF(B2<=89,"B","A",))))

IF(B2<60,”差”,IF(B2<=69,”及格”,IF(B2<=79,”中”,IF(B2<=89,”良”,”优”))))
当在第一个空格出现结果后,下面结果如下操作:按住Ctrl 把鼠标放在格子右下角,当鼠标变成十字时间向下拖动,即可产生所有结果。 注:1、B2是所要计算的值所在的列和行号,“B”为列号,数字“2”为第一个值所在的行。 2、IF函数的结尾的“)”反括号的个数应为IF的个数。如:IF(B2<60,”差”IF(B2<=69,”及格”,IF(B2<=79,”中”,IF(B2<=89,”良”,”优”)))),有4个IF,所以用了4个“)”。if不可不用,不可多用
先说不可不用。
if最善于解决非此即彼、非男即女、非阴即阳、非前即后、非有即无的问题。如果问题的答案是二选其一,则除了if,没有更好的办法。比如学龄,以7岁为条件,if(年龄>=7,"已到学龄","未到学龄"),做这样的判断,任何函数方法都不会更简明于此了。
如果我们的问题都是这么简单就好了。
有一个著名的数组公式,其内核公式为:if(match(列起点:列终点,列起点:列终点,0)=row(列起点:列终点),row(列起点:列终点),""),作用是在一列中查找重复值各单项的所在行号,这个if就是不可或缺,不可不用的,因为到目前为止还没有其他更简明的办法来达到用公式筛选重复值的目的。但说穿了,if在这里所解决的,仍然还是一个非此即彼的问题。
再看一例:设A列为姓名,B列为数值,求姓名甲的数值合计。{=SUM(IF(A1:A15="甲",B1:B15))},其实也是一类问题,是{=SUM(IF(A1:A15="甲",B1:B15,0))}的一种简写,叫做非甲即0。而在数组公式中,*号可以用来替代AND,+号则可以替代OR,因此也可以进一步简写作{=SUM((A1:A15=F1)*B1:B15)},而且条件越多,越可以体现这种写法的优点,比如再加上一列月份,求甲在3月份的数值合计,你可以省下两个if,多用一个*号就可以了
再来说不可多用。
为什么不可多用?大致是因为:一、会增加公式写入的强度;二、降低公式的可读性;三、降低运算速率;四、不利于脑力的发挥和开掘,使人懒惰。
例一:A1为一个数值,其范围为1-7,B1设置公式,按A1数值变化分别等于A-G。
先来看看纯粹使用if的解法:=IF(A1=1,"a",IF(A1=2,"b",IF(A1=3,"c",IF(A1=4,"d",IF(A1=5,"e",IF(A1=6,"f",IF(A1=7,"g","")))))))
是不是很麻烦?何止是麻烦,假如再增加两个条件,A1的数值范围为1-26,B1相应取值为A-Z,你又当如何?
if的嵌套最大可以为7层,上面的公式已经用到了极限。虽然说可以用一些旁门左道来“突破”这个限制,但也只是一种堆沙式的游戏,如上例,可以采用以下方式:=IF(A1=1,"a",IF(A1=2,"b",IF(A1=3,"c",IF(A1=4,"d",IF(A1=5,"e",IF(A1=6,"f",IF(A1=7,"g","")))))))&IF(A1=8,"h",IF(A1=9,"I",""))……
这样的用法,真是叫人兴味荡然,昏昏欲睡,EXCEL何必还要学下去,还不如去跟儿子摆积木更好玩呢!
所以说,if最好不要多用。不是说不能用,而是说用多了会叫人伤心。
其实EXCEL里准备了许多办法来替代上面的愚蠢的做法。
比如CHOOSE函数。=CHOOSE(A1,"a","b","c","d","e","f","g","h","i"),这是不是方便多了?CHOOSE的参数清单可以有29项之多,一般足够你使用了。如果还不够,那么请看下面:
=LOOKUP(A1,{1,2,3,4,5,6,7,8,9;"a","b","c","d","e","f","g","h","i"}),你可以尽情地输入参数,只要公式内容长度允许(规定公式内容长度为1024个字符)。
如果真的如例中所举,只是生成A-Z等字母的话,则只需=CHAR(A1+64)就可以了。当然,实际使用中这样的巧合实在是太少了,但作为一种方法还是有提及的必要。
一个if只能处理一个有无或是否的问题,即使这个问题可能是由诸多小的方面组合而成的。我们可以利用这一点,来达到替代if使用的目的。
例二:公司结算日期为每月24日,帐目的月份一栏,如果超过24日,就要记为下月。
如果按照普通思路,公式应该是这样的:=IF(DAY(A1)>24,IF(MONTH(A1)=12,1,MONTH(A1)+1),MONTH(A1))
要用到两个if判断,外层的是判断日期是否大于24,内层的是判断月份是否在12月,因为12月的下月是1月而非13月。现在对比一下下面的公式:
=MONTH(DATE(YEAR(A1),MONTH(A1)+1,0)+(DAY(A1)>24))
后者用了A1日期当月最后一天的序列值,最重要的是后面加了一个由判断是否大于24而生成的逻辑值,相当于=if(day(a1)>24,1,0)。逻辑值在公式设置中是一个很重要的概念,是对问题本身的逻辑关系的判断,其中TRUE=1,FALSE=0,生成的同样是有无或是否的结果,用得恰当,会使你的公式格外生动有趣。类似的还有根据年龄计算性别、年龄的公式,也是使用逻辑值做判断,具体见我以前的相关帖子,此处不在赘述。
是不是一定要少用if,以至于该用的也想办法不用?我曾经说,最少用到if的公式往往是最好的公式。之所以用“往往”来做限制,就是因为我没有根据来做一定如此的定论。凡事都要实事求是,具体情况具体分析。
例三:A1为性别,B1为年龄,C1标注是否退休。条件是男60岁,女55岁。
对这个问题,=IF(OR(AND(A1="男",B1>=60),AND(A1="女",B1>=55)),"退","未退")只用到一个if,但未必就比=IF(B1-IF(A1="男",5)>=55,"退","未退")更简洁,尽管后者用到两个if判断。当然我还是反对=IF(AND(A1="男",B1>=60),"退",IF(AND(A1="女",B1>=55),"退","未退"))这种用法的。
第2个回答  2011-01-26
=IF(A1=0,1,0)

这个公式意思就是如果A1等于0,你公式所在单元格就显示1,否则显示0

=IF(条件,条件为真时表达式,条件为假时表达式)

补充:
假设你的日期在A2
在B1输入公式
=if(a1="初级","中级","高级")
在B2输入公式
=IF(B1="中级",DATE(YEAR(A2)+4,MONTH(A2),DAY(A2)),DATE(YEAR(A2)+5,MONTH(A2),DAY(A2)))

后补充的不是太明白你的意思,有需要直接HI我吧。。。本回答被提问者采纳
第3个回答  2011-01-26
=if(条件,满足条件输出,不满足条件输出)
如果不理解给你举个例子: a b c
1 姓名 年龄 是否退休
2 张三 45
3 李四 55
4 王五 60
5 赵二 22
看你想干什么了,比如你想在c列中求出:如果年龄大于55岁已退休。求退休人员名单
第一步:C2单元格内输入:=if(b2>55,"是","否" )
第二步:高级筛选,可求出退休人员名单及年龄。if函数妙用很多,这只是简单的用法,可以和其他or、and嵌套使用!有兴趣买本函数书研究研究,时间长了就会了
第4个回答  2011-01-26
=IF (数据,条件,符合,不符合)。例如:1. =IF(A1>=60,"及格","不及格"), 2. =IF(A1>=60,"及格",IF(A1>=80,"良好",IF(A1>=90,"优秀","不及格")))
相似回答