2019-03-13 回答
if
全部显示
全部隐藏
根据对指定的条件计算结果为true或false,返回不同的结果。
可以使用if对数值和公式执行条件检测。
语法
if(logical_test,value_if_true,value_if_false)
logical_test表示计算结果为true或false的任意值或表达式。例如,a10=100就是一个逻辑表达式;如果单元格a10中的值等于100,表达式的计算结果为true;否则为false。此参数可使用任何比较运算符。
value_if_true是logical_test为true时返回的值。例如,如果此参数是文本字符串“预算内”,而且logical_test参数的计算结果为true,则if函数显示文本“预算内”。如果logical_test为true而value_if_true为空,则此参数返回0(零)。若要显示单词true,请为此参数使用逻辑值true。value_if_true可以是其他公式。
value_if_false是logical_test为false时返回的值。例如,如果此参数是文本字符串“超出预算”而logical_test参数的计算结果为false,则if函数显示文本“超出预算”。如果logical_test为false而value_if_false被省略(即value_if_true后没有逗号),则会返回逻辑值false。如果logical_test为false且value_if_false为空(即value_if_true后有逗号并紧跟着右括号),则会返回值0(零)。value_if_false可以是其他公式。
注解
最多可以使用64个if函数作为value_if_true和value_if_false参数进行嵌套以构造更详尽的测试。(示例3是嵌套if函数的一个例子。)此外,若要检测多个条件,请考虑使用lookup、vlookup或hlookup函数。(示例4是lookup函数的一个例子。)
在计算参数value_if_true和value_if_false时,if会返回相应语句执行后的返回值。
如果函数if的参数包含数组(数组:用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量。),则在执行if语句时,数组中的每一个元素都将计算。
microsoftexcel还提供了其他一些函数,它们可根据条件来分析数据。例如,如果要计算某单元格区域内某个文本字符串或数字出现的次数,则可使用countif和countifs电子表格函数。若要计算基于某区域内一个文本字符串或一个数值的总和,可使用sumif和sumifs工作表函数。
示例1
如果将示例复制到一个空白工作表中,可能会更易于理解。
如何复制示例
创建一个空白工作簿或工作表。
在帮助主题中选择示例。
注释请不要选择行或列标题。
从帮助中选择示例
按ctrl+c。
在工作表中,选择单元格a1,然后按ctrl+v。
若要在查看结果和查看返回结果的公式之间切换,请按ctrl+`(重音符),或在“公式”选项卡的“公式审核”组中,单击“显示公式”按钮。
1
2
a
数据
50
公式说明(结果)
=if(a2<=100,"预算内","超出预算")如果上面的数字小于等于100,则公式将显示“withinbudget”。否则,公式显示“overbudget”。(withinbudget)
=if(a2=100,sum(b5:b15),"")如果上面数字为100,则计算单元格区域b5:b15,否则返回空文本("")
示例2
如果将示例复制到一个空白工作表中,可能会更易于理解。
如何复制示例
创建一个空白工作簿或工作表。
在帮助主题中选择示例。
注释请不要选择行或列标题。
从帮助中选择示例
按ctrl+c。
在工作表中,选择单元格a1,然后按ctrl+v。
若要在查看结果和查看返回结果的公式之间切换,请按ctrl+`(重音符),或在“公式”选项卡的“公式审核”组中,单击“显示公式”按钮。
1
2
3
4
ab
实际费用预期费用
1500900
500900
500925
公式说明(结果)
=if(a2>b2,"超出预算","预算内")检查第一行是否超出预算(overbudget)
=if(a3>b3,"超出预算","预算内")检查第二行是否超出预算(ok)
示例3
如果将示例复制到一个空白工作表中,可能会更易于理解。
如何复制示例
创建一个空白工作簿或工作表。
在帮助主题中选择示例。
注释请不要选择行或列标题。
从帮助中选择示例
按ctrl+c。
在工作表中,选择单元格a1,然后按ctrl+v。
若要在查看结果和查看返回结果的公式之间切换,请按ctrl+`(重音符),或在“公式”选项卡的“公式审核”组中,单击“显示公式”按钮。
1
2
3
4
a
成绩
45
90
78
公式说明(结果)
=if(a2>89,"a",if(a2>79,"b",if(a2>69,"c",if(a2>59,"d","f"))))给第一个成绩指定一个字母等级(f)
=if(a3>89,"a",if(a3>79,"b",if(a3>69,"c",if(a3>59,"d","f"))))给第二个成绩指定一个字母等级(a)
=if(a4>89,"a",if(a4>79,"b",if(a4>69,"c",if(a4>59,"d","f"))))给第三个成绩指定一个字母等级(c)
在上例中,第二个if语句同时也是第一个if语句的参数value_if_false。同样,第三个if语句是第二个if语句的参数value_if_false。例如,如果第一个logical_test(average>89)为true,则返回“a”;如果第一个logical_test为false,则计算第二个if语句,以此类推。
用下列关键字指定数字的字母等级。
如果成绩是则返回
大于89a
80到89b
70到79c
60到69d
低于60f
示例4
在本示例中,要使用lookup函数而不是if函数,因为要测试十三个条件,您会发现这样做会更易于阅读和维护。
如果将示例复制到一个空白工作表中,可能会更易于理解。
如何复制示例
创建一个空白工作簿或工作表。
在帮助主题中选择示例。
注释请不要选择行或列标题。
从帮助中选择示例
按ctrl+c。
在工作表中,选择单元格a1,然后按ctrl+v。
若要在查看结果和查看返回结果的公式之间切换,请按ctrl+`(重音符),或在“公式”选项卡的“公式审核”组中,单击“显示公式”按钮。
1
2
3
4
a
成绩
45
90
78
公式说明(结果)
=lookup(a2,{0,60,63,67,70,73,77,80,83,87,90,93,97},{"f","d-","d","d+","c-","c","c+","b-","b","b+","a-","a","a+"})给第一个成绩指定一个字母等级(f)
=lookup(a3,{0,60,63,67,70,73,77,80,83,87,90,93,97},{"f","d-","d","d+","c-","c","c+","b-","b","b+","a-","a","a+"})给第二个成绩指定一个字母等级(a-)
=lookup(a4,{0,60,63,67,70,73,77,80,83,87,90,93,97},{"f","d-","d","d+","c-","c","c+","b-","b","b+","a-","a","a+"})给第三个成绩指定一个字母等级(c+)