如何解决多个中频条件?
我需要从两列产生输出,
ABC 1 1 TP 1 -1 FN -1 1 FP -1 -1 TN
我在C1
使用了下面的公式。
=IF(A1=B1,IF(A1=1&B1=1,"TP","TN"),IF(A1=-1&B1=1,"FP","FN"))
而输出就像是,
ABC 1 1 TN 1 -1 FN -1 1 FN -1 -1 TN
我无法弄清楚上面的方程有什么问题。
任何帮助将不胜感激。
问题是SCB所说的,就是有两个'AND'ed条件,你需要使用AND()
函数,否则你会得到&
concatenator,例如你的第一个公式就变成了:
=IF(1=1,IF(1=1&1=1,"TP","TN"),IF(A1=-1&B1=1,"FP","FN"))
哪个变成…
=IF(TRUE,IF(1="11"=1,"TP","TN"),IF(A1=-1&B1=1,"FP","FN"))
然后…
=IF(TRUE,IF(FALSE=1,"TP","TN"),IF(A1=-1&B1=1,"FP","FN"))
然后…
=IF(TRUE,IF(FALSE,"TP","TN"),IF(A1=-1&B1=1,"FP","FN"))
您应该将其更改为:
=IF(A1=B1,IF(AND(A1=1,B1=1)"TP","TN"),IF(AND(A1=-1,B1=1),"FP","FN"))
或更短…
=IF(A1=B1,IF(A1=1,"TP","TN"),IF(A1=-1,"FP","FN"))
虽然我认为一个有趣的方式来做同样的事情将是:
=IF(A1=B1,"T","F")&IF(B1=1,"P","N")
因为“like”总是给T
,如果B1是正数,那么总是“P”,然后连接两个结果。
代替
A1=1&B1=1
尝试
AND(A1=1,B1=1)
尽pipe即便如此,由于您已经确认A和B是否相同,您只需在次要IF语句中检查其中一个值即可。
=IF(A1=B1,IF(A1=1,"TP","TN"),IF(A1=-1,"FP","FN"))