【问题标题】:COUNTIFS multiple columns by multiple columns as date compareCOUNTIFS 多列按多列作为日期比较
【发布时间】:2019-09-19 07:49:12
【问题描述】:
=COUNTIFS(
  'NEW V2.0'!L3:L, "<>", 
  'NEW V2.0'!C3:C, S2, 
  'NEW V2.0'!I3:I, "<="&'NEW V2.0'!L3:L
)

假设这个公式应该返回 1 但是,我不明白这里缺少什么......

我正在尝试计算I 列中大于L 列中的日期的日期。

| I           | L           |
|-------------|-------------|
| 20-Sep-2019 | 16-Sep-2019 |
| 20-Sep-2019 | 20-Sep-2019 |

【问题讨论】:

    标签: excel google-sheets excel-formula google-sheets-formula countif


    【解决方案1】:

    “我正在尝试计算 I 列中大于 L 列中的日期的日期。”

    在 Excel 中:

    =SUMPRODUCT(--(I1:I2>L1:L2))
    

    在 GS 中:

    =SUMPRODUCT(I1:I>L1:L)
    

    【讨论】:

    • 您介意解释一下 Excel 版本的工作原理吗? -- 究竟是如何工作的?
    • @M.Schalk,这是一个双重否定。 (I1:I2&gt;L1:L2) 将返回一个由 TRUEFALSE 值组成的数组。将其乘以一个双重否定将其变为1s 和0s。也可以选择使用:=SUMPRODUCT((I1:I2&gt;L1:L2)*1),基本上是一样的。为了更好地理解,您可以使用内置的 Evaluate 选项来逐步完成公式。
    • 我明白了,谢谢!我不清楚 SUMPRODUCT 究竟返回了什么。
    • 这确实适用于所有过滤所需的额外列:)
    【解决方案2】:

    如果我正确理解您要实现的目标,我认为最简单的方法是帮助列。因此,在 K 列中,将以下公式放入第 2 行并将其复制到数据的末尾。

    =IF(I2>L2,"Higher", "Lower")
    

    然后简单地将这个公式放在 K 列中的数据下方(将 10 替换为数据的实际最后一行):

    =COUNTIF(K2:K10, "Higher")
    

    编辑: 我为您的确切问题找到了一个更优雅的解决方案,试试这个:

    =SUM(IF(I2:I3>J2:J3,1,0))
    

    请注意,这是一个数组公式,所以输入公式后你必须按Ctr + Shift + Enter才能工作

    【讨论】:

    • 远远超出范围
    • @dev 向试图为您解决问题的人们表示感谢的好方法...
    【解决方案3】:

    请参考下面更新的公式

    =COUNTIFS(
      'NEW V2.0'!L3:L, ">0", 
      'NEW V2.0'!I3:I, "<="&'NEW V2.0'!L3:L
    )
    

    你可以使用>0来检测空白单元格

    【讨论】:

    • 与我的问题无关
    • @dev 它也在做同样的事情,它检查 L 列不应该有空格并且 L 列的值高于 I 列的值
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-16
    • 2021-04-24
    • 1970-01-01
    • 2018-08-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多