我有一张excel表,看起来像:
Col1
我想再添加一列并检查(针对每个唯一TRUE
值)FALSE
中指定的值是=IF(B2=B1,IF(A2=A1,"TRUE","FALSE"))
还是Col2
。
到目前为止,我已经尝试了这个:Col1 Col2 Result
IJ-123 A2B1 TRUE
IJ-123 A2B1 TRUE
IJ-456 C2C2 TRUE
IJ-456 c2c2 TRUE
IJ-456 D1e2 FALSE
IJ-789 LJ87 TRUE (Because Col2 count=1 for this value)
IJ-789 LJ98 TRUE (Because Col2 count=1 for this value)
哪个工作正常,但是对于{{1}}中每个新值的第一列,它给了我" FALSE"结果
输出:
{{1}}
答案 0 :(得分:3)
我认为你的逻辑实际上非常复杂,并且在最初的问题中没有得到很好的解释 - 因此在评论中进行了长时间的讨论。这是我现在理解的逻辑:
- 如果col2中的值超过1,则检查那些col2值的相应col1值是否相同
- 如果只有一个col2值,则检查col1是唯一的,但仅针对多个col2值的col1值
醇>
这是公式:
=IF(COUNTIF($B$2:$B$8,B2)=1,SUMPRODUCT(--(($A$2:$A$8=A2)*(COUNTIF($B$2:$B$8,$B$2:$B$8))>1))=0,COUNTIFS($B$2:$B$8,B2,$A$2:$A$8,"<>"&A2)=0)
根据需要返回以下内容:
答案 1 :(得分:0)
您错过了“b2 = b1”的错误。
这应该解决它:
=IF(B2=B1,IF(A2=A1,"TRUE","FALSE"),"FALSE")
为了简化,如果你可以使用AND函数,而不是双倍。
If(AND(B2=B1,A2=A1),"True","False")