我正在努力解决这里的逻辑.. COUNTIFS 与 OR 条件的条件相当简单:
=SUM(COUNTIFS(range,criteria range1,{criteria1,criteria1.1},criteria range2,criteria2))
不过..如果我需要在范围本身上有一个 OR 条件怎么办?
我有两列包含“尝试 1”和“尝试 2”的周数,然后是状态,所以我的公式如下所示:
=SUM(COUNTIFS(raw[week1],refToWeekNumberCell,raw[status],{"Success","Try again","Fail","Invalid"}))
...所以我想计算在任何给定的一周我有多少“无效”或“有效”(所有其他状态)。如果状态为“无效”,则只会进行一次尝试。因此,检查“第 1 周”列就足够了。但是,如果我想检查“有效尝试”的次数,则需要同时检查“Week1”和“Week2”列。这可以以某种方式完成吗?我是否需要辅助栏,如果需要,我该如何制定该栏?
示例数据:
原始表:
Week1 | Week2 | 状态 |
---|---|---|
7 | 7 | 成功 |
7 | - | 成功 |
7 | - | 无效 |
7 | 8 | 成功 |
7 | 8 | 成功 |
8 | 8 | 成功 |
预期结果:第 8 周的计数在“第 1 周”或“第 2 周”列中都不是无效的。由于 Invalid 始终只有“第 1 周”下的任何内容,因此这很容易。但是在第 5 行,逻辑失败,因为我只能使用一列作为范围..
答案 0 :(得分:2)
如果它不会比两列复杂得多,您可以使用:
=SUM(IF((A2:A7=8)+(B2:B7=8)>=1,1,0)*(C2:C7<>"Invalid"))
“+”通常用于在此类布尔结构中充当某种“或”验证。但是,如果您有更多列,则 storage duration 变体更易于维护。
=SUM(--(MMULT((A2:B7=8)*(C2:C7<>"Invalid"),{1,1})>0))
答案 1 :(得分:1)