首页 > 解决方案 > 如何将 COUNTIFS 与 INDIRECT 结合使用?

问题描述

我有一个如下所示的数据集:

method  method_year season_year station sample  Macoma_length
GEMAX   GE_2016     autumn 2016     1       1       20
GEMAX   GE_2016     autumn 2016     1       2       17,5
GEMAX   GE_2016     autumn 2016     1       2       12
GEMAX   GE_2016     autumn 2016     1       2       19
GEMAX   GE_2016     autumn 2016     1       3       5
GEMAX   GE_2016     autumn 2016     1       3       2
GEMAX   GE_2016     autumn 2016     1       3       2
GEMAX   GE_2016     autumn 2016     1       4       18
GEMAX   GE_2016     autumn 2016     1       4       7,5
GEMAX   GE_2016     autumn 2016     1       4       3
GEMAX   GE_2016     autumn 2016     1       4       2
GEMAX   GE_2016     autumn 2016     1       5       8,5
GEMAX   GE_2016     autumn 2016     2       1       15
GEMAX   GE_2016     autumn 2016     2       1       13
GEMAX   GE_2016     autumn 2016     2       1       3

数据涵盖了两个不同季节(2016 年秋季和 2017 年夏季)在 6 个不同站点 (1-6) 的两种方法(GEMAX 和 Grab),每个站点 (1-5) 有 5 个样本,每个站点发现的 Macoma 数量不同,告诉我测量的每个 Macoma 的长度。

我现在需要将其更改为这种格式:

method  method_year season_year station sample  1,0  1,5   2,0  2,5  3,0
GEMAX   GE_2016     autumn 2016 1       1                           
GEMAX   GE_2016     autumn 2016 1       2                           
GEMAX   GE_2016     autumn 2016 1       3                       
GEMAX   GE_2016     autumn 2016 1       4                           
GEMAX   GE_2016     autumn 2016 1       5   

然后,这将告诉我一个样本中有多少个大小等级的 Macoma。

我试图弄清楚是否有一个我可以使用的公式,以便我可以轻松地做到这一点。到目前为止,我遇到了函数 COUNTIF 和 INDIRECT,它们可能会起作用,但我无法正确计算公式。我想要的解决方案是

=COUNTIF(间接("$F2;"&O6))

但这给了我一个错误,我无法弄清楚我应该做什么。

所以,我需要的是类似的东西

=COUNTIF([正在计算的样本中 Macoma_lengths 的向量], "[在列顶部指定的类别 (例如 1,0)])

但我不知道如何让 INDIRECT 做我想做的事。

我有两个问题:

1)如何正确编写此代码?

2)我可以使用其他功能(COUNTIFS?)让excel为我选择正确的方法,season_year和station,这样我就不必在方法内的season_year内手动选择站内每个样本的范围?

标签: excel

解决方案


你会使用 COUNTIFS()

=COUNTIFS($L:$L,$A2,$M:$M,$B2,$N:$N,$C2,$O:$O,$D2,$P:$P,$E2,$Q:$Q,F$1)

在此处输入图像描述


推荐阅读