如何仅比较最后几行

时间:2014-05-28 02:56:12

标签: excel excel-formula excel-2010

我的excel看起来像这样:

      A      B       C       D       E       F       G
1:  5/13/14 32451   2.367   FALSE   FALSE   FALSE   FALSE
2:  5/14/14 32454   2.602   FALSE   FALSE   FALSE   FALSE
3:  5/14/14 32454                   
4:  5/15/14 32448   2.602   FALSE   TRUE    FALSE   FALSE
5:  5/15/14 32453   2.602   FALSE   FALSE   FALSE   FALSE
6:  5/15/14 32451                   
7:  5/15/14 32466   2.602   TRUE    FALSE   FALSE   FALSE
8:  5/15/14 32426   2.602   FALSE   FALSE   FALSE   FALSE
9:  5/16/14 32539   2.602   FALSE   TRUE    FALSE   FALSE
10: 5/16/14 32539                   

     H    I    J     K
12: Yes  Yes   No    No 

我正在寻找一个公式来比较最后的5个数据:

  • 列D是否有任何数据为真,它将在H12上返回是,如果数据为假,则在H12上返回否
  • 列E是否有任何数据为true且在I12上将返回Yes,如果数据为false则在I12上返回No
  • 列F是否有任何数据为true且它将在J12上返回Yes,如果数据为false则将在J12上返回No
  • 列G是否有任何数据为真,它将在K12上返回是,如果数据为假,则它将在k12上返回否

目前,我的公式在H12 will be IF(COUNTIF(D1:D100,"TRUE*")=0,"No","Yes")) 但这是从D1计算所有行:D100,想知道有没有办法只计算最后5行? 他们将会添加许多数据,所以是否有可能制定一个只计算最后5行数据的公式?

=============================================== =================================== 这将是我的数据:

A B C D E F G 1:5/15/14 32448 2.602 FALSE TRUE FALSE FALSE 2:5/15/14 32451 2.602 FALSE TRUE FALSE FALSE 3:5/15/14 32466 2.602 FALSE FALSE FALSE FALSE 4:5/15/14 32426
5:5/15/14 32426 2.602 FALSE FALSE FALSE FALSE 6:5/16/14 32539 2.602 FALSE TRUE FALSE FALSE 7:5/16/14 32539 2.602 TRUE TRUE FALSE FALSE

如图所示,在D10上是真的,这意味着在H12和H13上将返回是但不是否。

在H12上我使用这个公式: =IF(SUM(--(OFFSET(D$1,COUNTA($A:$A)-5,0,5)=TRUE))>0,"Yes","No")

在H13上我使用的是这个公式:=IF(COUNTIF(OFFSET(D$1,COUNTA($A:$A)-5,0,5),TRUE)=0,"No","Yes")

您能告诉我如何修改但是查看日期吗?对不起......我还在学习数组公式......>。<

1 个答案:

答案 0 :(得分:0)

如果在 A列中引用了最后五行,请尝试以下操作:

=IF(SUM(--(OFFSET(D$1,COUNTA($A:$A)-5,0,5)=TRUE))>0,"Yes","No") Cell H12

Ctrl + Shift + Enter H12 作为数组公式输入输入。
然后自动填充或复制到 I12,J12和K12

编辑1:实际上,您也可以使用以下公式:

=IF(COUNTIF(OFFSET(D$1,COUNTA($A:$A)-5,0,5),TRUE)=0,"No","Yes")

确实不需要数组公式。只是 Offset 提供的动态变化范围 然后只需复制到剩余的单元格(I12,J12和K12)。

重要事项:条件 TRUE 可以是字符串或布尔值(在我的情况下,我使用布尔值进行测试)。
调整以适应您的方式。写了你的数据。

Edit2:如果您想根据 ColumnA上的日期进行评估。

=IF(SUM(IF(($A$1:$A$11>=DATEVALUE("5/13/2014"))*($A$1:$A$11<=DATEVALUE("5/14/2014"))<>0,IFERROR(--D$1:D$11,0),0))<>0,"Yes","No")

如果 TRUE且FALSE 是布尔类型,则上述公式有效。否则它不会起作用。

<强>结果: enter image description here

如果在2014年5月13日到2014年5月14日之间的日期有 TRUE ,这将在H12上返回
同样, ColumnA 值应该是日期。