如何计算字段在特定';第'周;在excel中

如何计算字段在特定';第'周;在excel中,excel,database,excel-formula,countif,Excel,Database,Excel Formula,Countif,我有一张桌子: 我创建了一个名为独特交付周的新专栏,其中列出了第1-52周。 如果Week==distinct delivery Week,我想创建一个count函数,使其进行计数,并返回在各个星期中出现次数最多的Channel类别 例如,如果App-Activation-Organic在Week1中出现的次数比其他任何内容都多,那么它将在Distinct Delivery Week旁边的新列中返回。 我使用的公式是: {=INDEX(D1:D74686, MODE(IF(H2:H74686=

我有一张桌子:

我创建了一个名为
独特交付周
的新专栏,其中列出了第1-52周。 如果
Week==distinct delivery Week
,我想创建一个count函数,使其进行计数,并返回在各个星期中出现次数最多的
Channel
类别


例如,如果
App-Activation-Organic
Week
1中出现的次数比其他任何内容都多,那么它将在
Distinct Delivery Week
旁边的新列中返回。 我使用的公式是:

{=INDEX(D1:D74686, MODE(IF(H2:H74686=M2,MATCH(D2:D74686,D2:D74686,0))))}

有这么多数据,如果您使用一个简单的数据透视表来计算每个频道每周出现的次数,并获得每周前1次,可能会有所帮助

我制作了一个类似于你的假数据集:

然后我创建了一个透视表,如下所示:

  • 字段“周”和“通道到行”部分(第一周,第二个通道,顺序很重要)
  • 同样,字段通道进入值部分(确保字段执行计数操作)
  • 在列通道-->中应用了值过滤器,将其设置为仅显示前1位

  • 这是一种非常简单的方法,可以在列表中看到每周出现最多的频道。

    到目前为止您尝试了什么?尝试(根据源代码):
    =INDEX(ChannelColumn,MODE(IF(WeekColumn=DistictWeek,MATCH(ChannelColumn,ChannelColumn,0))
    ,以数组公式形式输入。我认为这不正确;)。您当前正面临从索引范围返回错误结果的风险。我不太明白抱歉,公式有什么问题?它需要:
    {=index(D2:D74686,MODE(IF(H2:H74686=M2,MATCH(D2:D74686,D2:D74686,0))}
    。否则,匹配将返回错误的索引以拉取:)数据透视表确实是解决此问题的好方法。