我需要在突出显示的"结果"列下想出一个公式(请参阅嵌入式屏幕截图(,该公式应为每行的单元格分配 1 或 0。公式的标准是:
-
如果一个事件有多个"Str类型"(我称之为腿(,其中一些腿说"是",其中一些对"控制存在"说"否"?那么"结果"应该说0。
-
如果一个事件有多个"Str类型"(我称之为腿(,并且所有这些腿都对"控制存在"说"是"?那么"结果"应该说0。
-
如果一个事件有多个"Str类型"(我称之为腿(,并且所有这些腿都对"控制存在"说"不"?那么"结果"应该说 1。但是,每个唯一事件 ID 只应声明一次 1 个值。
-
如果一个事件没有多个"Str类型"(我称之为腿(,而只有一个,并且它对"控制存在"说"是"?那么"结果"应该说0。
-
如果一个事件没有多个"Str类型"(我称之为腿(,而只有一个,并且它对"控制存在"说"否"?那么"结果"应该说 1。
我插入了问题的屏幕截图,并在"结果"列下手动说明了所需的结果。我需要一个能够提供相同结果的公式。
感谢您所做的一切!
截图
你已经让这比它需要的要困难得多- 如果你查看你的规则,你可以重新陈述它们,如下所示:
- 结果 = 所有值的
0
,但以下值除外:- 当给定
Incident Id
没有"是"值时,首次出现"否"
- 当给定
因此,获取示例图片并将该表放在范围A1:C19
中,D列中的Result
公式如下所示:
D2: =IF(COUNTIFS($A$2:$A$19,A2,$C$2:$C$19,"Yes")>=1,0,IF(A2<>A1,1,0))
分解一下:
COUNTIFS($A$2:$A$19,A2,$C$2:$C$19,"Yes")
- 计算给定Incident Id
的Yes
值的数量
IF(COUNTIFS($A$2:$A$19,A2,$C$2:$C$19,"Yes")>=1,0
- 如果我们至少有 1 个Yes
给定的Incident Id
,则将值设置为0
,IF(A2<>A1,1,0))
- 现在我们在 ELSE 部分,所以这意味着没有Yes
值,所以我们关心的只是我们在事件 ID 的第一行,这意味着 A 列中的值是新的,所以它不会等于它上面的值。因此,如果Incident Id
与其上方行中的值不同,则返回1
,否则返回0
。
将此公式向下拖动 D 列,您就完成了。
有时它有助于重新评估问题 - 希望这能解决问题!