【问题标题】:Excel - How to count the number of distinct texts of a specific date inside a table?Excel - 如何计算表格中特定日期的不同文本的数量?
【发布时间】:2020-06-16 20:53:00
【问题描述】:

我正在尝试计算数据表中特定日期的不同文本的数量。

具有预期结果的数据样本:

我能够弄清楚如何计算我指定的范围内的不同元素,因为我可以确定包含日期的第一行和最后一行。

=SUMPRODUCT(1/COUNTIF(B2:B15,B2:B15))

我试图修改我的公式,以便它自己确定单元格范围,但没有成功。

我使用 CELL 和 MAXIFS 的组合搜索了一个答案,示例如下,但 Excel 不接受该公式。 =CELL("行",MAXIFS(A2:A15,A2:a15,D2))

我查看了 INDEX 公式,但不知道如何做我想做的事。 ????

知道我做错了什么,或者我应该做什么?

谢谢,非常感谢!

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    如果你有 Office 365 和新的动态数组,这种公式就变得非常简单。

    单元格 E3 中的这个公式:

    =COUNTA(UNIQUE(FILTER($B$2:$B$15,$A$2:$A$15=D3)))
    

    抄下来。

    您还可以在 D3 中使用此公式生成唯一的日期列表,该公式会自动溢出,无需复制。

    =UNIQUE(A2:A15)
    

    【讨论】:

    • 感谢@teylyn 的回答,我能够找到为什么我没有这些功能可用。不幸的是,我使用的是半年度企业频道,所以我只能在 2020 年 7 月使用它?
    • 有什么值得期待的!!
    【解决方案2】:

    这并不容易,但通过分离问题的每个步骤,我能够解决它。

    请注意,我的解决方案仅适用于我的日期已排序。

    这是单元格中的最终公式“一个公式来统治所有人”:

    =SUMPRODUCT(1/COUNTIF(INDIRECT(CONCATENATE(ADDRESS((MATCH(D3,$A$2:$A$15,0)+1),2),":",ADDRESS(MAX(($A$2:$A$15=D3)*ROW($A$2:$A$15)),2))),INDIRECT(CONCATENATE(ADDRESS((MATCH(D3,$A$2:$A$15,0)+1),2),":",ADDRESS(MAX(($A$2:$A$15=D3)*ROW($A$2:$A$15)),2)))))
    

    这是我对我的过程的解释:

    Formula if I select the range : 
    =SUMPRODUCT(1/COUNTIF(B2:B15,B2:B15))
    
    Formula to get the first iteration
    =ADDRESS((MATCH(D3,$A$2:$A$15,0)+1),2)
    
    Formula to get the last iteration
    {=ADDRESS(MAX(($A$2:$A$15=D3)*ROW($A$2:$A$15)),2)}
    
    Create range from two addresses 
    =INDIRECT(CONCATENATE(F3,":",G3))
    
    Formula giving me the expect result
    =SUMPRODUCT(1/COUNTIF(INDIRECT(CONCATENATE(F3,":",G3)),INDIRECT(CONCATENATE(F3,":",G3))))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多