我需要比较两组两列,并找到符合特定标准的ID数。
A B C D E
ID: ListNum: RefNum: List2Num: Ref2Num:
1 10 5 12 6
2 3 7 10 2
3 12 8 1 5
4 2 15 13 4
5 4 11 2 8
6 6 9 1 3假设包含ID = "1“的单元格是A2,然后下降到A7
我必须计算I的数量,这些I的ListNum高于RefNum,List2Num也高于Ref2Num。为了计算ID,必须满足这两个条件。
我使用了以下公式:=COUNT(IF(B2:B7 > C2:C7)和(D2:D7 > E2:E7))
我得到了一个值,但这不是正确的计数(这是两个条件的总和,而不是只计算一次)。最后的答案应该是1。任何帮助都将不胜感激,谢谢!
发布于 2016-03-17 04:24:44
您的字符串不起作用的原因之一是:在您的公式中,您使用&意思是AND,但实际上是串连字符串。
选项1:数组公式
如果和不适用于数组,那么包含它们的普通公式就不能工作了。因此,使用数组公式代替:
您需要将其输入为数组公式(您需要按下control enter而不是enter,当您将公式放入其中时):
=SUM((B2:B7 > C2:C7)*(D2:D7 > E2:E7))当它在单元格中时,它将以大括号显示它是一个数组公式。就像这样:
{=SUM((B2:B7 > C2:C7)*(D2:D7 > E2:E7))}在这个公式中,X>Y将返回1或0作为true或false。所以乘法和和加是一样的,加法和OR是一样的。然后,(B2:B7 > C2:C7)*(D2:D7 > E2:E7)的意思是B2:B7 > C2:C7 AND D2:D7 > E2:E7,它返回一个1和0的数组,然后将它们相加得到计数。
备选案文2: SUMPRODUCT
有一个正常函数,其唯一目的是将数组相乘,然后以与数组公式相同的方式将它们相加: SUMPRODUCT
SUMPRODUCT的问题是数组必须是数字,而不是逻辑的真值和假值,所以这些都可以:
=SUMPRODUCT(--(B2:B7 > C2:C7),--(D2:D7 > E2:E7))
=SUMPRODUCT((B2:B7 > C2:C7)*1,(D2:D7 > E2:E7)*1)
=SUMPRODUCT((B2:B7 > C2:C7)+0,(D2:D7 > E2:E7)+0)但这并不意味着:
=SUMPRODUCT((B2:B7 > C2:C7),(D2:D7 > E2:E7))但是SUMPRODUCT是一个正常的函数,所以您不需要使用控制移位- enter来输入它。
发布于 2016-03-17 03:28:19
尝试将此公式输入单元格F1中。
=IF(AND(B1 > C1, D1 > E1), 1, 0)然后,只需为您实际拥有的行取F列的总和,您就应该得到答案(对于上面给出的示例数据,它是1 )。
发布于 2016-03-17 04:29:02
如果你把一个简单的公式放在你的桌子旁边,你可以自动填充一直下去。接下来,您可以在该列中计算True值的数量(参见图)。按照Tim的建议,您可以合并成一个IF语句。
这两个公式是
链接到可能解决方案的图片
https://stackoverflow.com/questions/36051085
复制相似问题