嵌套If AND语句,其中只有部分语句返回true



我正在尝试为我的组织创建一个容量跟踪器,以便新入职者在整个入职过程中反映出减少的容量。为此,我在一般容量跟踪器旁边添加了一个额外的表,该表显示了开始日期与当前日期,给出了该人员工作的天数。然后将其转换为"服务月数",从而转换为容量调整。然后使用此调整值将其容量除以每月的设定值,因此1个月的服务= 3的调整,因此其容量减少到0.3。

我的IF,AND报表中有一些不正确的返回,将他们的工作天数转换为服务月份。我正在使用下面的公式,有没有更好的方法来做到这一点,或者有人能发现公式中的错误吗?前几个语句返回正确的答案,但在3之后错误,当它应该是4时返回'6+'。

=IF(
AJ38<30,
1,
IF(
AND(AJ38>30,AJ38<60),
2,
IF(
AND(AJ38>61,AJ38<90),
3,
IF(
AND(AJ38>91,AJ38<120),
4,
IF(
AND(AJ38>121,AJ38<150),
5,
IF(
AND(AJ38>151,AJ38<180),
6,
"6+"
)
)
)
)
)
)
我希望这是有意义的,谢谢你的帮助!

我想我已经解决了这个问题。我没有考虑到一个值何时返回实际数字,比如"90"。每个语句都在两个数字之间,所以如果数字落在一个整数上,它就不会被考虑在内。我已经调整范围从1个数字下来,它现在正在工作。工作公式- =如果(AJ4<30岁,1,如果(和(AJ4<AJ4> 29日;60),2,如果(和(AJ4<AJ4> 59, 90), 3,如果(和(AJ4<AJ4> 89; 120), 4,如果(和(AJ4<AJ4> 119; 150), 5,如果(和(AJ4<AJ4> 149; 180), 6日,"6 +"))))))

其他一些可能性:

  1. IFS()代替嵌套的IF来减少分层的数量。注意:这适用于Excel 2016或更新版本。
=ifs(AJ4<30,1,
AND(AJ4>=30,AJ4<60),2,
AND(AJ4>=60,AJ4<90),3,
AND(AJ4>=90,AJ4<120),4,
AND(AJ4>=120,AJ4<150),5,
AND(AJ4>=150,AJ4<180),6,
TRUE,"6+")
  1. 使用整数除法进行数学运算
=INT(AJ4/30)+1

如果你需要"6+"在这里,你必须使用IF语句:

=IF(AJ4<180,INT(AJ4/30)+1,"6+")

最新更新