多个IF和/或语句返回Met / Not Met文本

时间:2014-05-20 20:00:36

标签: excel if-statement excel-formula excel-2010

我已经研究了几个星期的配方,我已经在网上看过,并且在很多场合都认为我找到了答案,但是我仍然没有一个有效的配方。

我理解我们不应该问重复问题的规则,但通过浏览StackOverflow,我找不到任何解决了我的问题的东西。我认为这篇文章就是它 - https://stackoverflow.com/questions/15753961/multiple-if-and-statements-excel#= - 但我又一次无法让它发挥作用。

所以对我的问题 - 我有两列表格格式的信息:

第1栏 - 票务系统门票的SLA优先权。

示例:P1,P2,P3,P4等...(P1~非常高,P2~高等)

第2列 - 特定故障单的初始响应时间。

示例:01:00,00:44,12:00(01:00~1小时,00:44~四十四分钟等)

然后我要添加一个列,其最终值为" Met"或"未遇见"。如果票证响应在SLA(服务级别协议)内,我们将告知此信息。

PSEUDO CODE:

IF SLACELL EQUALS P1 AND IRTCELL <=1HOUR PRINT "MET", IF NOT PRINT "NOT MET", OR IF SLACELL EQUALS P2 AND IRTCELL <=2HOURS PRINT "MET", IF NOT PRINT "NOT MET", OR IF SLACELL EQUALS P3 AND IRTCELL <=4HOURS PRINT "MET", IF NOT PRINT "NOT MET", OR IF SLACELL EQUALS P4 AND IRTCELL EQUALS <=12 PRINT "MET", IF NOT PRINT "NOT MET"

我的许多尝试之一:

=IF([@[SLA Priority]]="P1",IF([@[Initial Response Time]]<=1,"Met", "Not Met")),IF(AND([@[SLA Priority]]="P2",IF([@[Initial Response Time]]<=2,"Met", "Not Met")),IF(AND([@[SLA Priority]]="P3",IF([@[Initial Response Time]]<=4,"Met", "Not Met")),IF(AND([@[SLA Priority]]="P2",IF([@[Initial Response Time]]<=2,"Met", "Not Met")))

有人可以帮我吗?我真的很挣扎!

提前致谢! 最大

2 个答案:

答案 0 :(得分:1)

离开戴维斯&#39;回答,我能够拿出一个有效的例子。假设时间值存储在示例中,我能够得到正确的答案:

=IF(
  OR(
   IF(AND(A1="P1",HOUR(B1)<=1),TRUE,FALSE),
   IF(AND(A1="P2",HOUR(B1)<=2),TRUE,FALSE),
   IF(AND(A1="P3",HOUR(B1)<=4),TRUE,FALSE),
   IF(AND(A1="P4",HOUR(B1)<=12),TRUE,FALSE)
  )
,"MET","NOT MET")

假设A1是优先级,B1是响应时间。

你需要移除间距,我把它放在那里让你更容易阅读......

HTH, 扎克

答案 1 :(得分:0)

使用查找表(比如命名范围LValues),一个更简单的公式可能适合:

=IF(VLOOKUP(A2,LValues,2)<B2,"NOT MET","Met")  

这对第四个VLOOKUP参数使用TRUE(默认情况下),因此如果表被排序,则匹配不需要精确值。