描述
使用此函数可以检查多个条件,并返回与第一个 TRUE 条件对应的值,而无需嵌套多个 IF 语句。可与 CHILDREFS一起使用。
句法
IFS(logical_test1, value_if_true1, […, logical_test_127, value_if_true_127])
输入
该函数接受以下参数:
| 姓名 | 必要 | 描述 | 有效输入 |
|---|---|---|---|
逻辑测试_1 |
是的 | 首先要评估的条件。 | 任何可以计算为 TRUE 或 FALSE 的值或表达式。 |
value_if_true_1 |
是的 | 如果 logical_test_1 为 TRUE,则返回该值。 |
任何值,包括文本、数字或逻辑值。 |
logical_test_n, |
选用 | 其他条件和结果的组合。 | 与logical_test_1和 value_if_true_1相同的标准。 |
实例
范例数据
| A | B | |
|---|---|---|
| 1 | 分数 | 年级 |
| 2 | 95 | A |
| 3 | 84 | 非常好 |
| 4 | 75 | 好的 |
| 5 | 无得分 | |
| 6 | 60 | 失败 |
示例公式
| 用例 | 公式 | 解释与结果 |
|---|---|---|
| 根据一系列条件,给分数赋予一个字母等级。 | =IFS(A2>=90,"A","A2>=80,"B","A2>=70,"C","A2>=60,"D","TRUE","F") |
该公式的工作原理如下:
对于此数据集,此公式返回 "A"。 |
| 根据一系列分级条件,提供基于评分的描述性评价。 | =IFS(A3>95,"优秀",A3>82,"很好",A3>75,"好",A3>65,"满意",TRUE,"需要改进") |
该公式的工作原理如下:
对于此数据集,公式返回 “非常好”。 |
| 给出详细的字母等级或描述性等级,包括“优秀”或“完美”等级。 | =IFS(A4=100,"完美",A4>=90,"优秀",A4>=80,"良好",A4>=70,"合格",A4>=60,"及格",TRUE,"不及格") |
该公式的工作原理如下:
对于此数据集,公式返回 “好”。 |
| 根据提供的值给出基本的及格/不及格评分,同时处理空白单元格和无效分数。 | =IFS(ISBLANK(A5),"无分数",A5>100,"无效",A5>=70,"通过",TRUE,"失败") |
该公式的工作原理如下:
对于此数据集,公式返回 “无分数”。 |
| 根据提供的值给出基本的及格/不及格评分,同时处理空白单元格和无效分数。 | =IFS(ISBLANK(A6),"无分数",A6>100,"无效",A6>=70,"通过",TRUE,"失败") |
该公式的工作原理如下:
对于此数据集,公式返回 “失败”。 |
笔记
- IFS 按顺序评估条件,并返回与第一个 TRUE 条件对应的值。
- 如果没有条件为真,也没有最终的真条件,IFS 将返回 #N/A 错误。
- IFS 最多可以处理 127 个条件/值对。
- 对于多个条件,IFS 比嵌套的 IF语句更高效、更易读。
使用技巧
- 始终包含一个最终的 TRUE 条件,以处理其他条件均不满足的情况。
- 当需要检查两个以上条件时,请使用 IFS 语句而不是嵌套的 IF语句。
- 确保你的条件相互排斥,以避免出现意想不到的结果。
- 对于复杂的逻辑测试,您可以在 IFS 条件中使用 AND、 OR和 NOT 函数。
- 处理大型数据集时,请考虑使用 VLOOKUP 或 INDEX/MATCH 以获得更好的性能。