Excel - 逻辑公式拼图

时间:2018-05-03 23:12:56

标签: excel if-statement count nested logical-operators

我需要在突出显示的#34;结果"下面找到一个公式。列(请参阅嵌入式SCREENSHOT),应为每行的单元格分配1或0。公式的标准是:

  • 如果事件有多个" Str类型" (我称之为腿)并且其中一些腿说"是"他们中的一些人说"不"到"控制存在?"那么"结果"应该说0。

  • 如果事件有多个" Str类型" (我称之为腿)所有这些腿说"是"到"控制存在?"那么"结果"应该说0.

  • 如果事件有多个" Str类型" (我称之为腿)所有这些腿都说'#34;不"到"控制存在?"那么"结果"应该说1.但是,每个唯一的事件ID只应该声明1个值。

  • 如果事件没有多个" Str类型" (我称之为腿)但只有一个并且它说'#34;是"到"控制存在?"那么"结果"应该说0。

  • 如果事件没有多个" Str类型" (我称之为腿)但只有一个并且它说'#34;不"到"控制存在?"那么"结果"应该说1。

我插入了问题的屏幕截图,所需的结果在"结果"柱。我需要一个能提供相同结果的公式。

谢谢你所做的一切!

SCREENSHOT

1 个答案:

答案 0 :(得分:2)

你已经使这个更多更难了 - 如果你看一下你的规则,你可以按如下方式重新陈述:

  • 所有值的结果= 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") - 计算给定Yes

Incident Id值的数量

IF(COUNTIFS($A$2:$A$19,A2,$C$2:$C$19,"Yes")>=1,0 - 如果给定的Yes至少有Incident Id,则将值设置为0

,IF(A2<>A1,1,0)) - 现在我们在ELSE部分,这意味着没有Yes值,所以我们关心的是我们在第一行事件ID,这意味着A列中的值是新的,因此它不会等于它上面的值。因此,如果Incident Id与其上方行中的值不同,请返回1,否则返回0

将此公式拖到D栏后,您就完成了。

有时重新评估问题会有所帮助 - 希望这可以解决问题!