Excel-基于多个条件动态放置布尔值

Excel-基于多个条件动态放置布尔值,excel,excel-2010,Excel,Excel 2010,首先,让我对可能出现的格式错误表示感谢和抱歉。我试图使它尽可能简单,但我不知道如何插入一个表到这个框中 在Excel中,我有以下两列并排显示在A列和B列中 1 INIT 2 INIT 3 INIT 4 INIT 4 UNWIND 3 INIT 5 INIT 1 UNWIND 在C列中,如果第一列中的数字是相同的,并且这些数字同时具有INIT和UNWIND,那么我想将其置为1。因此,最终解决方案如下所示: 1 INIT 1 2 INIT

首先,让我对可能出现的格式错误表示感谢和抱歉。我试图使它尽可能简单,但我不知道如何插入一个表到这个框中

在Excel中,我有以下两列并排显示在A列和B列中

1   INIT
2   INIT
3   INIT
4   INIT
4   UNWIND
3   INIT
5   INIT
1   UNWIND
在C列中,如果第一列中的数字是相同的,并且这些数字同时具有INIT和UNWIND,那么我想将其置为1。因此,最终解决方案如下所示:

1   INIT      1
2   INIT      0
3   INIT      0
4   INIT      1
4   UNWIND    1
3   INIT      0
5   INIT      0
1   UNWIND    1
注意,在上面的示例中,尽管3在A列中出现了两次,但在C列中放置了一个零,因为第二个“3”在B列中有“INIT”,而不是“UNWIND”

我曾考虑将If语句与Match等组合使用,但我不确定如何动态完成任务,因为您正在搜索的范围将发生变化(列的所有行,不包括您当前所在的行)。在本例中,对于第1行,您只需搜索它下面的所有行。但是,对于第2行,您可能希望搜索它上面的行以及后面的所有行,依此类推

非常感谢您的帮助


谢谢

看起来您正在尝试测试A列中的任何数字是否同时具有“INIT”和“UNWIND”值。这里最简单的解决方案是AND

=AND(COUNTIF(A:A,A1)=2,COUNTIFS(A:A,A1,B:B,"INIT")=1,COUNTIFS(A:A,A1,B:B,"UNWIND")=1)
当然,请注意,我提供的公式将计算所有列,并且需要两个匹配行,一个是INIT,一个是UNWIND。它将返回布尔值true或false,而不是1或0,但您应该能够轻松地将布尔值转换为任意值

(如果可能,使用Excel 2007后的表格。它们使公式更易于阅读。)

替代公式:

=--AND(COUNTIFS(A:A,A1,B:B,{"INIT","UNWIND"}))

所以问题是给我密码?