A B C FORMULA
Y TBC N ?
我希望公式包含所有这3列,每列都有不同的组合
例如,如果a,b,c = Y,则结果应为ABC,如果a& b是Y,结果将是AB并且类似地" AC"," BC"," A"," B"," C"
如果所有三个都是N,那么结果将是N,如果一个是" TBC"和其他2是N,结果是TBC
答案 0 :(得分:-1)
最简单,最混乱的解决方案是:
=IF(AND(OR(A1="TBC", B1="TBC",C1="TBC"), A1<>"Y", B1<>"Y", C1<>"Y"),"TBC", IF(AND(A1="N",B1="N",C1="N"), "N", IF(A1="Y", "A", "") & IF(B1="Y", "B", "") & IF(C1="Y", "C", "")))
当然,如果你想扩大列数或类似数量,这很快会变得非常混乱,因此有更有效的方法。
长话短说,您在此使用的三个功能是IF
,OR
和AND
。
=IF(<Condition>, <What it will return if comparison is true>, <What it will return if comparison isfalse>)
=OR(<Condition>, <Condition>,...) Will be true if one or more of the Conditions are true
=AND(<Condition>, <Condition>,...) Will be true, only if all of the Conditions are true
在我们的第一个IF
中,我们想知道我们的任何一个细胞是否至少有一个“TBC”,其余的是“N”。我将其简化为至少一个“TBC”而不是“Y”,如果这不是您想要的,那么还有其他方法(如果您使用的是Excel 2013,则可以替换{{1} } OR
只有在其中一个条件为真时才返回true。
要解决此问题,我们使用
XOR
与说法相同,如果A,B和C中的至少一个是“TBC”并且它们都不是“Y”则返回true。如果这是真的,那么它会将单元格设置为“TBC”,否则它将继续询问第二个if语句,该语句使用公式:
AND(OR(A1="TBC", B1="TBC",C1="TBC"), A1<>"Y", B1<>"Y", C1<>"Y")
这更简单。如果所有三个单元格都等于N,它将返回true。如果为真,它将从AND(A1="N",B1="N",C1="N")
语句中的第二个参数给出值“N”,否则它将进入最后一个部分:< / p>
IF
您需要知道的另一件事是使用IF(A1="Y", "A", "") & IF(B1="Y", "B", "") & IF(C1="Y", "C", "")
字符的连接函数。这样做是将周围的字符串连接在一起。
每个&
会给我们一个字符(行字母),如果它是真的,或者一个空字符串,如果它不是,所以例如,如果单元格的值为IF
那么语句将产生字符串:
Y, Y, N
当它们结合在一起时,就像我们想要的那样给我们AB。