我正在尝试使用公式获得以下结果。在下图中,您可以从数据中找到5种可能的结果。
每次测试都会获得一个唯一的编号,但每次测试完成后都会重复。无论结果如何。
因此,每个测试编号在"YES"
中只能有一个column A
,其他所有尝试都应为"NO"
,如果测试结果最终变为"SUCCESS"
,则应转{对于此行,"YES"
位于{1}},并且所有其他尝试都应转为column A
该特定测试编号。
结果"NO"
否决了所有内容,"SUCCESS"
否决了"ERROR"
。
我已设法为每个独特的结果添加"NOT TESTED"
,但如果结果最终为YES
,我会坚持将此YES
转为NO
。< / p>
答案 0 :(得分:1)
如果我正确理解您的要求,听起来好像您可以使用COUNTIFS
公式实现所需,只要您可以获得一个唯一的测试名称列表。有一种公式方法可以获得唯一的列表,但在这么大的数据集上使用它可能会耗尽Excel的资源,因此使用高级过滤器可能更容易。
您可以使用公式计算每个测试名称的成功,错误和非测试的数量。
我从您的帖子中获取了您的数据,就好像这是源数据一样,提供以下输出:
在F2
中输入以下公式,然后您可以向下和向右拖动以填充F-H。您显然需要扩展范围以适合您的实际数据源。
= COUNTIFS($ A $ 2:$ A $ 17 $ E2,$ B $ 2:$ B $ 17 F $ 1)
在I2
中,使用简单的IF公式来评估计数并根据您的&#34;成功&gt;返回总体状态。错误&gt;未经测试&#34;层次结构。
= IF(F2> 0,&#34;成功&#34;,IF(G2> 0,&#34;错误&#34;,&#34;未测试&#34;)
这应该在需要时保持相当简单的阅读和更改,但是如果您不想要单独的状态计数列,那么您可以更改IF公式以包含COUNTIF公式,并手动引用状态描述符,如下:
=如果(COUNTIFS($ A $ 2:$ A $ 17 $ E2,$ B $ 2:$ B $ 17&#34;成功&#34)大于0,&#34;成功&#34;如果(COUNTIFS($ A $ 2:$ A $ 17,$ E2,$ B $ 2:$ B $ 17,&#34;错误&#34;)&gt; 0,&#34;错误&#34;,&#34;未经测试& #34))