嵌套的IF语句有问题

时间:2014-09-14 02:14:41

标签: excel excel-formula

我正在寻求帮助在Excel中编写IF语句。如果特定单元格的字母以a,b,c开头,我希望它列出AB,如果它以dk开头,我希望它列出BB,如果是lr,列出CB,最后如果是s - z ,列出DB。

我能够通过仅列出一个if语句来使其工作,但我在其他人中遇到麻烦。

保护正常工作:

=IF(AND(RIGHT(A2,1)>="a",RIGHT(A2,1)<="c"),"AB")

显然这是错误的:

=IF(AND(RIGHT(A1,1)>="a",RIGHT(A1,1)<="c"),"AB"),
IF(AND(RIGHT(A1,1)>="d",RIGHT(A1,1)<="k"),"BB"),
IF(AND(RIGHT(A1,1)>="l",RIGHT(A1,1)<="r"),"CB"),
IF(AND(RIGHT(A1,1)>="s",RIGHT(A1,1)<="z"),"DB")

我确信这也是一个非常简单的修复,但我不确定如何解决它。

由于

2 个答案:

答案 0 :(得分:2)

另一种方法怎么样?

=IFERROR( LOOKUP( CODE( UPPER(A1) ), {65,68,76,83,91}, {"AB","BB","CB","DB",""}),"")

CODE(A1)将始终获取传递给它的值中的第一个字符(例如LEFT(A1, 1)

编辑:添加一个级别以传递空字符串以防&gt; ž

答案 1 :(得分:0)

您过早关闭了If语句。

尝试

=IF(AND(Left(A1,1)>="a",Left(A1,1)<="c"),"AB",
IF(AND(Left(A1,1)>="d",Left(A1,1)<="k"),"BB",
IF(AND(Left(A1,1)>="l",Left(A1,1)<="r"),"CB",
IF(AND(Left(A1,1)>="s",Left(A1,1)<="z"),"DB", "what now?"))))