IFS
IFS 函数检查指定表达式并根据计算结果为布尔值 TRUE 的第一个条件返回值。
IFS(IFS 表达式, IFS 为 TRUE, IFS 表达式…, IFS 为 TRUE…)
IFS 表达式: 逻辑表达式。 IFS 表达式可含有任何值,只要表达式可作为布尔值求值。如果表达式求得的值为数字,则 0 被视为 FALSE,任何其他数字则被视为 TRUE。
IFS 为 TRUE: IFS 表达式为 TRUE 时返回的值。 IFS 为 TRUE 可以包含任何值。如果省略 IFS 为 TRUE(有逗号,但无值)且 IFS 表达式的计算结果为 TRUE,IFS 返回 0。
IFS 表达式…: IFS 表达式为 FALSE 时要计算的可选逻辑表达式。 IFS 表达式可含有任何值,只要表达式可作为布尔值求值。如果表达式求得的值为数字,则 0 被视为 FALSE,任何其他数字则被视为 TRUE。
IFS 为 TRUE…: IFS 表达式… 为 TRUE 时返回的值。 IFS 为 TRUE 可以包含任何值。如果省略 IFS 为 TRUE…(有逗号,但无值)且 IFS 表达式… 的计算结果为 TRUE,IFS 返回 0。
注释
如果所有表达式为 FALSE,则返回错误。
如果之前所有表达式(包括 IFS 表达式以及 IFS 表达式… 所有实例)的计算结果均为 FALSE,你可以在公式中最后的 IFS 表达式… 中输入“TRUE”,后面紧跟 IFS 为 TRUE… 的默认值以指定结果。
使用 IFS 执行多个比较 |
---|
下表显示学生成绩列表。 |
A | B | C | |
---|---|---|---|
1 | 学生 | 分数 | 等级 |
2 | 1 | 4 | 优秀 |
3 | 2 | 2 | 掌握 |
4 | 3 | 3 | 熟练 |
5 | 4 | 未完成 | |
6 | 5 | 3.2 | 熟练+ |
7 | 6 | 3.2 | 生疏 |
下表通过使用多个 IFS 表达式… 参数来返回与上表中分数关联的等级。 此公式中使用了以下参数:
若要结合表格中的其他单元格使用上述公式,请将每个条件表达式中的 B2 更改为其他含分数的单元格。 |
为 IFS 表达式… 使用 TRUE |
---|
有时表达式的计算结果均不为 TRUE,而是返回错误,你可以在最后的 IFS 表达式… 中设定返回的字符串。在上表中,学生 4 没有分数,因此针对该学生,之前的公式会返回错误。此学生可能缺席或仍需完成该作业,所以如果不想保留错误,你可以添加另一个 IFS 表达式以将缺失的分数标记为“未完成”: 在本示例中,单元格引用已更改以匹配学生 4 的分数单元格,但所有参数与上述相同,并且末尾还另外添加了一个 IFS 表达式:
|
更复杂的比较 |
---|
在某些情况下,你可能有需要使用混合比较运算符的更复杂表达式。上述数值范围涵盖全数字,比如说还有学生(学生 6)的分数为 3.2。你可以使用如下公式来解释分数介于四个主要等级之间的学生的情况(假设学生 5 的分数 B6 为 3.2): 在本示例中,“优秀”、“熟练”、“掌握”和“生疏”等级之间都添加了额外的 IFS 表达式… 参数。
此公式适用是因为 IFS 会查找第一个结果为真的表达式。如果学生的分数不是 4,IFS 会检查其是否大于 3;学生 5 将会得到等级“熟练+”。作为另一个示例,分数为 2.5 的学生将会得到等级“掌握+”,因为其分数不是 4,也不大于或等于 3,但大于 2。 |
配合其他函数使用 IFS |
---|
IFS 可与其他函数配合使用。例如,此函数使用 MOD 来确定单元格 A2 中的年份(在本示例中 A2=2020)是否为闰年: 若要确定两个值是否不相等,请使用比较运算符 <>。 |
其他示例 |
---|
=IFS(A2>91,"A",A2>82,"B",A2>73,"C",A2>64,"D",TRUE,"F") 让大于 91 的数字返回字母等级“A”,然后让大于 82 且小于 92 的数字返回“B”,并以此类推,让所有小于 65 的值返回“F”。 =IFS(A2>91,"A",A2>82,"B",A2>73,"C",A2>64,"D",A2<>0,"应考",TRUE,"不合格") 让大于 91 的数字返回字母成绩“A”,然后让大于 82 且小于 92 的数字返回“B”,并以此类推,让所有小于 65 但不等于 0 的值返回“应考”。如果分数为 0,公式返回“不合格”。 假设 A2 包含“A dog” 假设 A1 = COUNTMATCHES(A2, REGEX("\w+")) =IFS(A1 = 0, "零个字", A1 = 1, "一个字", A1 = 2, "两个字", A1 > 2, "多个字") 返回“两个字”。 |