带有动态标题的Countif

时间:2015-07-01 18:36:05

标签: excel

下午好!我正在尝试获取Countifs或Index Match语句来计算值在另一个表中出现的次数。例子:

在我的报告表中,A栏包含10种不同的状态,例如绿色,黄色,红色等;第1行包含六个日期,例如2015年1月31日,2015年2月28日等。这些日期是计算。最后一个日期引用我的日期工作表,另外五个使用EOMONTH来获得前五个月的月末。

在我的数据表中,我有7个描述性列(例如Type,Make,Model等),然后我们开始日期列:2010年1月31日一直到2015年7月31日。我每个月都会添加一个新列(我知道,我也不喜欢它,但遗憾的是我们没有时间序列数据库)。

我需要做的是使用一个Countifs或Index Match从我的报告选项卡中提取日期,然后在我的tblTrends的标题行中找到它,然后计算所有这些绿色状态,如果它是SUV(例如)。

思考?

THX !!

G

1 个答案:

答案 0 :(得分:0)

最基本的,你想要的东西类似于:

=COUNTIFS(TypeRange,"SUV",FirstMonth,Status)

所以,让我们说你的数据表从L列开始,第一个日期列是O:

=COUNTIFS($L$1:$L$100,"SUV",O$1:O$100,A$2)

在不同日期拖动此公式时,它会将日期参考值移到下一个月。

如果您需要动态确定日期列,我建议使用OFFSET动态选择范围。 然而,请注意OFFSET是一个&#34; volatile&#34;公式,这意味着它会在文件中随时 时重新计算 ,如果不谨慎使用,可能会导致加载速度非常慢。 < / p>

=COUNTIFS($L$2:$L$100,"SUV",OFFSET($N$2:$N$100,,MATCH(B$1,$O$1:$Z$1,0)),$A2)

OFFSET从第N列开始,因为它是之前的第一列我们想要的列(日期列)。 MATCH告诉它从这里到OFFSET有多少列。

如果您要在大量数据上使用此功能,则可以通过创建动态表来避免使用OFFSET公式。这个表只包含你感兴趣的六个月的数据,利用INDEX / MATCH,你可以使用我最初描述的原始基本方法从这个表中运行你的COUNTIFS。如果你不确定我的意思,我可以详细说明。