如何计算Excel中另一个范围内的值大于,等于,小于某个值的值?

时间:2017-05-02 19:34:13

标签: mysql excel excel-vba vba

我认为我的问题非常基本,但似乎无法在任何地方找到答案。我有一张桌子“比赛”,显示主队,客场球队,比赛和比分。像这样:

Round | HomeTeam | HTGoals | ATGoals | AwayTeam
-----------------------------------------------
1     | team1    |  1      | 0       | team4
1     | team2    |  1      | 1       | team5
1     | team3    |  0      | 1       | team6
2     | team4    |  3      | 0       | team1
2     | team5    |  2      | 0       | team2
2     | team6    |  2      | 0       | team3
-----------------------------------------------

(抱歉,我还无法粘贴图片)

我需要第二张桌子,主场胜利,客场胜利和领带,如下:

      |Home|Tie|Away
---------------------
Round1|1   |1  |1
Round2|3   |0  |0

但我找不到自动进行比较的公式。我试过这个:

=COUNTIFS(A:A;1;C:C;">"&D:D)

但它不起作用。

你知道是否有办法计算一个值范围(在这种情况下为HTgoals)大于另一个值范围(在本例中为ATGoals),将第一个范围内的每个单元格与相应的单元格进行比较下一个范围?

还有一件事,不考虑回合,如果我只是验证目标比较,我找到了无处不在的解决方案:

=SUMPRODUCT(--(C:C>D:D))

它适用于“>”和“<”但它不适用于“=”因此它对我不起作用。

我有两种可能的解决方案,我试图避免,但如果没有公式,请告诉我。

1-我可以创建一个额外的列,将得分与3 IF,ElseIF,ELSE进行比较,回复“HW”,“AW”或“TIE”。然后使用round和结果执行COUNTIFS()。 (我试图避免这个因为我的数据来自数据库)

2-我可以继续在我的数据库(mySQL)中创建一个程序,我也试图避免这个程序,因为我最终会为每个竞争对手提供大量的商店程序。我需要在不同的工作空间(或电子表格)中使用该逻辑

2 个答案:

答案 0 :(得分:1)

三个公式:

主页:

=SUMPRODUCT(($A$2:$A$7=G2)*($C$2:$C$7> $D$2:$D$7))

领带:

=SUMPRODUCT(($A$2:$A$7=G2)*($C$2:$C$7= $D$2:$D$7))

客场:

=SUMPRODUCT(($A$2:$A$7=G2)*($C$2:$C$7< $D$2:$D$7))

enter image description here

你也可以使用这个数组公式:

=SUMPRODUCT(($A$2:$A$7=$G2)*(CHOOSE(COLUMN(A:A),--($C$2:$C$7> $D$2:$D$7),--($C$2:$C$7= $D$2:$D$7),--($C$2:$C$7< $D$2:$D$7))))

将它放在H2中,按Ctrl-Shift-Enter而不是Enter,然后上下复制/拖动。

enter image description here

答案 1 :(得分:0)

SumProduct将起作用:

      |Home|Tie|Away
---------------------
Round1|a   |b  |c
Round2|3   |0  |0

a: =SUMPRODUCT(((A:A=1)*(C:C>D:D)))  
b: =SUMPRODUCT(((A:A=1)*(C:C=D:D)))  
c: =SUMPRODUCT(((A:A=1)*(C:C<D:D)))  

我会让你弄清楚Round2