Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel:如何在Excel公式中构造嵌套If条件_Excel_Excel Formula - Fatal编程技术网

Excel:如何在Excel公式中构造嵌套If条件

Excel:如何在Excel公式中构造嵌套If条件,excel,excel-formula,Excel,Excel Formula,这是一个基于分数的评分公式 If score < 4 Then LEVEL 1 If score > 4 and score < 9 LEVEL 2 If score > 8 and score < 13 LEVEL 3 If score > 12 and score < 15 LEVEL 4 If score > 15 LEVEL 5 如果分数4且分数8且得分12且分数15,则为5级 我真的搞不懂,哪里出了错。请帮忙 =IF(A1<4,

这是一个基于分数的评分公式

If score < 4 Then LEVEL 1
If score > 4 and score < 9 LEVEL 2
If score > 8 and score < 13 LEVEL 3
If score > 12 and score < 15 LEVEL 4
If score > 15 LEVEL 5
如果分数<4,则为1级
如果分数>4且分数<9,则为2级
如果得分>8且得分<13,则为3级
如果分数>12且分数<15,则为4级
如果得分>15,则为5级
我真的搞不懂,哪里出了错。请帮忙

=IF(A1<4,"LEVEL 1",IF(AND(A1>4,A1<9),"LEVEL 2",IF(AND(A1>8,A1<13,"LEVEL 3",IF(AND(A1>12,A1<17,"LEVEL 4",IF(A1>16,"LEVEL 5")))))))
=IF(A14、A18、A112、A116,“第5级”()()()())()()(41

在then条件之前,您忘记关闭您的
位于右侧。
第三个
如果
最终有一个巨大的条件,并且没有then或else语句,那么最后一个
也会发生这种情况

=IF(A1<4,              "LEVEL 1",
 IF(AND(A1>4, A1<9),   "LEVEL 2",
 IF(AND(A1>8, A1<13),  "LEVEL 3",
 IF(AND(A1>12, A1<17), "LEVEL 4",
 IF(A1>16,             "LEVEL 5")))))
=IF(A14、A18、A112、A116,“第5级”;))

在then条件之前,您忘记关闭您的
位于右侧。
第三个
如果
最终有一个巨大的条件,并且没有then或else语句,那么最后一个
也会发生这种情况

=IF(A1<4,              "LEVEL 1",
 IF(AND(A1>4, A1<9),   "LEVEL 2",
 IF(AND(A1>8, A1<13),  "LEVEL 3",
 IF(AND(A1>12, A1<17), "LEVEL 4",
 IF(A1>16,             "LEVEL 5")))))
=IF(A14、A18、A112、A116,“第5级”;))

您差点就成功了,您只需要确保关闭
语句的括号:

=IF(A1<4,"LEVEL 1",IF(AND(A1>4,A1<9),"LEVEL 2",IF(AND(A1>8,A1<13),"LEVEL 3",IF(AND(A1>12,A1<17),"LEVEL 4",IF(A1>16,"LEVEL 5")))))
=IF(A14、A18、A112、A116,“第5级”;))

您差点就成功了,您只需要确保关闭
语句的括号:

=IF(A1<4,"LEVEL 1",IF(AND(A1>4,A1<9),"LEVEL 2",IF(AND(A1>8,A1<13),"LEVEL 3",IF(AND(A1>12,A1<17),"LEVEL 4",IF(A1>16,"LEVEL 5")))))
=IF(A14、A18、A112、A116,“第5级”;))
您不需要
和()。若第一个条件并没有自动通过,那个么数字大于4,所以你们只需检查它是否小于9,以此类推。。。
或者在公式中:

=IF(A1<4,"LEVEL 1",IF(A1<9,"LEVEL 2",IF(A1<13,"LEVEL 3",IF(A1<17, "LEVEL 4", "LEVEL 5"))))
=IF(A1您不需要
和()
。如果第一个条件没有自动通过,则数字大于4,因此您只需检查它是否小于9,依此类推。。。 或者在公式中:

=IF(A1<4,"LEVEL 1",IF(A1<9,"LEVEL 2",IF(A1<13,"LEVEL 3",IF(A1<17, "LEVEL 4", "LEVEL 5"))))

<代码> >(A1

很高兴你能用它,但是在这种情况下还有另一种方法你可能需要考虑,而不是嵌套的IFS。

在另一张工作表或工作表上的其他地方创建一个表格,列出您的级别和达到这些级别所需的分数: 0级别1 4第2级 8第3级 12第4级 15第5级

然后使用VLOOKUP或INDEX(MATCH)函数来查找匹配项。我喜欢INDEX(MATCH),因为它提供了更多的控制

=INDEX(Sheet1!$B$1:$B$5,MATCH(A1,Sheet1!$A$1:$A$5,1))
在这种情况下,我们的列表将出现在表1中,B列中列出了等级,A列中列出了要求的分数,而我们的公式出现在表2中,参考了从A1开始的实际分数

INDEX
函数查看数组-B1:B5-并从该数组中的指定行返回一个值。
MATCH
函数查看数组-A1:A5-并返回数组中小于或等于匹配值的最大数字的位置。它将此结果传递回
INDEX
,以便选择适当的行


这种方法比多级嵌套<代码>更容易维护、修改和扩展,如果

很高兴你能用它,但是在这种情况下还有另一种方法你可能需要考虑,而不是嵌套IFS。 在另一张工作表或工作表上的其他地方创建一个表格,列出您的级别和达到这些级别所需的分数: 0级别1 4第2级 8第3级 12第4级 15第5级

然后使用VLOOKUP或INDEX(MATCH)函数来查找匹配项。我喜欢INDEX(MATCH),因为它提供了更多的控制

=INDEX(Sheet1!$B$1:$B$5,MATCH(A1,Sheet1!$A$1:$A$5,1))
在这种情况下,我们的列表将出现在表1中,B列中列出了等级,A列中列出了要求的分数,而我们的公式出现在表2中,参考了从A1开始的实际分数

INDEX
函数查看数组-B1:B5-并从该数组中的指定行返回一个值。
MATCH
函数查看数组-A1:A5-并返回数组中小于或等于匹配值的最大数字的位置。它将此结果传递回
INDEX
,以便选择适当的行


此方法比多层嵌套的
更易于维护、修改和扩展,如果
您也可以使用以下公式:

=CHOOSE(MATCH(Score,{0,4,8,12,15},1),"Level 1","Level 2","Level 3","Level 4","Level 5")

Score是输入单元格的定义名称。

您也可以使用以下公式:

=CHOOSE(MATCH(Score,{0,4,8,12,15},1),"Level 1","Level 2","Level 3","Level 4","Level 5")

分数是输入单元格的定义名称。

4级是15?感谢您指出。我更正了错误。我假设级别为=“级别”&min(int(A13/4)+1,4)4级是15?感谢您指出。我更正了错误。我假设级别为=“级别”&min(int(A13/4)+1,4)太棒了。它像一个符咒。非常感谢。太棒了。它像一个符咒一样工作。非常感谢。非常感谢。今天我学习了excel公式。非常感谢。今天我学习了excel公式