计算过滤数据的模式

我是一名研究生,正在追求我的地质学硕士(又名:我不是一个Excel导师),目前正在研究我的论文已经遇到了一个问题。

我的论文的主要观点是要传达在路易斯安那州陆上留下大量未被发现的碳氢化合物。 我试图通过显示路易斯安那州的大部分油田是在1980年以前运行来量化这一点(自1980年以来,技术已经真正在行业中起作用,并且有许多新技术可以帮助重新开放这些老油田中的一些)。

我有一个约1850页的Excel工作簿。 每个页面包含一个字段的井数据。 一些油田已经钻了数千口井,而其他油田只有几口井。 这些表格中包含的许多数据之一是许可证的date。 我想计算这些许可证的模式年份,以确定每个油田达到“高峰期”的年份。

我目前正在使用filter来消除大量不必要的数据,并尝试使自己的计算/macros创build更容易。 允许date位于列I中。我使用Q列中的年份function从date中删除date和月份,以便能够计算模式年份。 但是,Excel会拒绝计算该模式,因为它会一直尝试使用过滤的信息进行计算,从而返回错误。 没有模式的小计function,我找不到适合我的情况的解决scheme。

过滤后的表格如下所示:

过滤之前

对于解决scheme,我需要公式来计算整个Q列的模式,因为许可数据的范围将随字段而变化。

过滤后

简而言之,我认为您需要将公式从=Year()更改为包含条件以查看该行是否为“必要”行。 根据您发布的最新截图,我认为最简单的解决scheme可能是在您的年份(Q)列中这样做,这是第二季度的公式:

 =if(isnumber(H2),Year(I2),"") 

这将导致任何无效行空白,您的模式function可能只是:

 =MODE(Q:Q) 

哪一个会知道忽略空白。

现在,我上面的公式有一个大于0%的概率太简单,并且您的过滤标准不能用公式复制。 如果需要的话,可以创build一个自定义的VBA函数来判断一行是否隐藏(过滤后的行将隐藏= true),如下所示:

 Function Hidden(CellValue As Range) As Boolean Hidden = Rows(CellValue.Row).Hidden End Function 

第二季度的相应年份函数将变为:

 =IF(Hidden(A2),"",YEAR(B2)) 

和相同的模式function将适用。 我在一个小电子表格上testing了它。 过滤之前,这个数据的模式是2006年:

在这里输入图像描述

如果我在列C中过滤出非空白,为了消除我已知的模式,E1中的公式将切换到下一个模式,表明过滤的值将被忽略:

在这里输入图像描述