使用countifs()在Excel中比较两个列表

时间:2019-07-15 18:36:14

标签: arrays excel excel-formula

所以我使用unsigned int size(void) { int ctr = 0; for (int i = 0; i < N; i++) { if (sizer -> children[i] == NULL) { continue; } else { // do i need to use a pointer here to point // to sizer before changing it sizer = sizer -> children[i]; if ((sizer -> is_word) == true) { ctr ++; } int x = size(); ctr += x; } } // Before returning ctr should i use the pointer to change sizer to // what it was previously . Can it work??? return ctr; } 是因为我有一些不同的标准要针对大型数据集进行检查。

我想取两个序列(例如Countifs()A2:A10),并计算A数大于对应的B数(A2对B2,A3对B3等)的多少倍。 ),同时还要检查第三个序列(B2:B10)是否等于某个值。

这是我尝试过的粗略版本:

C2:C10

因此,在此示例中,它将返回2: example data

我尝试对数组公式执行Control + Shift + Enter,但这没有用。

编辑:谢谢阿什,您是对的,公式确实适用于该示例。但是由于某些原因,在另一个示例中却没有:data。它使用时间而不是正常数字,但这不会有所不同

3 个答案:

答案 0 :(得分:0)

您的逻辑对我来说很好。在单元格E1中,我有这个:

=COUNTIFS(A2:A11,">"&B2:B11,C2:C11,"1/1/2018")

产生2。或者,您可以对SUMPRODUCT进行相同操作:

=SUMPRODUCT(--(A2:A8>=B2:B8),--(C2:C8=E1))

单元格E1包含'1/1/2018'

答案 1 :(得分:0)

您可以在ARRAY公式中使用SUM()+ IF(),如下所示:

=SUM(IF(A2:A5>B2:B5,1,0)*IF(C2:C5=DATE(2018,1,1),1,0))

与数组公式一样,仅使用CTRL + SHIFT + ENTER而不是ENTER进行确认,以便获得括号:

{=SUM(IF(A2:A5>B2:B5,1,0)*IF(C2:C5=DATE(2018,1,1),1,0))}

答案 2 :(得分:0)

您可以使用以下公式,只需通过ENTER键确认即可。

=SUMPRODUCT(--(A2:A10>B2:B10),--(C2:C10="1/1/2018"+0))