Excel 计算3列中同一行中的匹配数

Excel 计算3列中同一行中的匹配数,excel,excel-formula,excel-365,Excel,Excel Formula,Excel 365,我希望有人能帮忙,我正在寻找一个公式解决以下问题,如果可能的话 我有一列人名,对于每个人,我有3列来自3个不同来源的数据——我需要确定这3列中的数据与每个人匹配的次数。在广泛的谷歌搜索之后,我只能找到结果汇总在一个单元格中的解决方案,该单元格来自一个COUNTIF范围,但是我需要为每个人在同一行中汇总结果 例如: “Dave”在单元格A2中,他的结果是:B2列=失败,C2列=通过,D2列=通过-因此在本例中,我们有两个匹配项,因为有两个通过。 “Sue”在单元格A3中,她的结果是:B3列=失败,

我希望有人能帮忙,我正在寻找一个公式解决以下问题,如果可能的话

我有一列人名,对于每个人,我有3列来自3个不同来源的数据——我需要确定这3列中的数据与每个人匹配的次数。在广泛的谷歌搜索之后,我只能找到结果汇总在一个单元格中的解决方案,该单元格来自一个COUNTIF范围,但是我需要为每个人在同一行中汇总结果

例如: “Dave”在单元格A2中,他的结果是:B2列=失败,C2列=通过,D2列=通过-因此在本例中,我们有两个匹配项,因为有两个通过。 “Sue”在单元格A3中,她的结果是:B3列=失败,C3列=失败,D3列=失败-因此在本例中,我们有3个匹配项,因为有3个失败。 “Colin”在单元格A4中,他的结果是:列B4=TBA、C4=FAIL和D4=PASS——因此在本例中,我们有0个匹配项,因为所有结果都不匹配

理想情况下,我希望在E列中列出每个人的匹配数,因此Dave的匹配结果是E2单元格,Sue的匹配结果是E3单元格,Dave的匹配结果是E4单元格

非常感谢你的帮助

最亲切的问候

TE

您可以将IF()MAX()和COUNTIF组合使用。
在E2中:

因此,它会进行三次单独的计数,以查看每个单元格中有多少个“重复”。
取最大值并与1进行比较,如果为真,则返回0,否则返回最大值

您可以将IF()MAX()和COUNTIF组合使用。
在E2中:

因此,它会进行三次单独的计数,以查看每个单元格中有多少个“重复”。
取最大值并与1进行比较,如果为真,则返回0,否则返回最大值


是否喜欢E列中的这项工作

=if(countif(B2:D2,B2)=3,3,if(countif(B2:D2,B2)=2,2,if(countif(B2:D2,C2)=2,2,0)))
如果对你有效,请告诉我


是否喜欢E列中的这项工作

=if(countif(B2:D2,B2)=3,3,if(countif(B2:D2,B2)=2,2,if(countif(B2:D2,C2)=2,2,0)))
如果对你有效,请告诉我

您可以尝试:

E1
中的公式:

=INDEX({0,2,3},MAX(COUNTIF(B1:D1,B1:D1)))
对那些好奇的人有一点解释:

  • COUNTIF(B1:D1,B1:D1)
    -将根据这些值在三个单元格中出现的频率,生成三个值的数组(每列1个)
  • MAX()
    -获取上一个数组的最大值
  • INDEX({0,2,3})
    -由于
    MAX()
    的结果只能是1-3,我们可以将其作为行参数输入到
    INDEX()
    函数中。这将导致0、2或3

少一点冗长,可能更明确的是:

=MIN(((B1=C1)+(C1=D1)+(B1=D1))*2,3)
在最后一个公式中,我们使用了
TRUE
FALSE
等同于
1
0
,因此我们可以添加多个布尔值。通过一些数学运算,我们可以得到想要的结果。

您可以尝试:

E1
中的公式:

=INDEX({0,2,3},MAX(COUNTIF(B1:D1,B1:D1)))
对那些好奇的人有一点解释:

  • COUNTIF(B1:D1,B1:D1)
    -将根据这些值在三个单元格中出现的频率,生成三个值的数组(每列1个)
  • MAX()
    -获取上一个数组的最大值
  • INDEX({0,2,3})
    -由于
    MAX()
    的结果只能是1-3,我们可以将其作为行参数输入到
    INDEX()
    函数中。这将导致0、2或3

少一点冗长,可能更明确的是:

=MIN(((B1=C1)+(C1=D1)+(B1=D1))*2,3)

在最后一个公式中,我们使用了
TRUE
FALSE
等同于
1
0
,因此我们可以添加多个布尔值。通过一些数学运算,我们就可以得到我们想要的结果。

你算的是什么?失败值还是通过值?为什么戴夫考了2分,而苏考了3分?我基本上是在检查结果的一致性,而不是结果本身。你算什么?失败值还是通过值?为什么Dave考了2分,Sue考了3分?我基本上是在检查结果的一致性,而不是结果本身。天哪,这是什么魔法?你能解释一下这背后的逻辑吗?我已经测试过了,它工作得很好,但我试图理解你是如何(以及为什么lol)开发的this@FoxfireAndBurnsAndBurns,我编辑了答案,包括一些解释和另一个可能的公式。希望能有帮助。兄弟,你真厉害。谢谢你的解释。这让我的想法很清楚。谢谢你的分享,这是什么魔法?你能解释一下这背后的逻辑吗?我已经测试过了,它工作得很好,但我试图理解你是如何(以及为什么lol)开发的this@FoxfireAndBurnsAndBurns,我编辑了答案,包括一些解释和另一个可能的公式。希望能有帮助。兄弟,你真厉害。谢谢你的解释。这让我的想法很清楚。谢谢你告诉我你不能和苏一起工作。它将返回0,OP说Sue的匹配在我的测试中是3,这确实为Sue返回3。请参阅上面答案中添加的图片。这不适用于Sue。它将返回0,OP说Sue的匹配在我的测试中是3,这确实为Sue返回3。请参阅上面答案中添加的图片。这也很有效-非常感谢您的帮助。这也很有效-非常感谢您的帮助。