如何将COUNTIFS与INDIRECT结合?

时间:2018-08-09 17:24:25

标签: excel

我有一个看起来像这样的数据集:

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和抓取),每个站点(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(INDIRECT(“ $ F2;”&O6))

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

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

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

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

我有两个问题:

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

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

3 个答案:

答案 0 :(得分:0)

您将使用COUNTIFS()

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

enter image description here

答案 1 :(得分:0)

我将窃取蒂姆·威廉姆斯的想法,并使用数据透视表。
这是想法:

  • 对于主表,添加一列(讨厌这样做,但是很容易),称为“ Macoma_Class”
  • 输入公式来指示类别-类似于=MROUND("Macoma_length"/x,.5)或类似名称以获取类别值
  • 使用以下方法创建数据透视表:
    • 行值:桩号,样本
    • 列值:Macoma_Class
    • 值:Macoma_Class的数量
  • 添加Year和Season作为过滤器,以便您可以根据需要进行排序。
    结果很接近,如果我们有更多的“类”细节,效果会更好。
    enter image description here

答案 2 :(得分:0)

我认为不需要使用间接单元格引用来获取包含的图片。

假设您知道要捕获的站和样本,则可以简单地设置一个公式,使用COUNTIFS根据行和列的值进行计数。

我将重新排列的数据放在第20行开始的同一页中。单元格G20中的公式为:

=COUNTIFS($D$2:$D$16,$D20,$E$2:$E$16,$E20,$F$2:$F$16,G$19)

,此公式应在要计数的行之间上下复制。What the table looks like