2015-11-04 121 views
2

我是一名研究生,追求我的地質學碩士(又名:我不是Excel專家),目前正在研究我的論文已經遇到了問題。計算過濾數據的模式

我的論文的主要觀點是要傳達在路易斯安那州陸上區留下大量未被發現的碳氫化合物。我試圖通過顯示路易斯安那州的大部分油田在1980年以前運營來量化這一點(自1980年以來,技術在這個行業真正起飛了,並且有許多新技術可以幫助重新開放這些舊領域中的一些)。

我有大約1850頁的Excel工作簿。每個頁面都包含一個字段的井數據。有些油田已經鑽了數千口井,而其他油田只有少數井。這些表格中包含的許多數據之一是許可證的日期。我想計算這些許可證的模式年份,以確定每個油田達到「高峯期發展」的年份。

我目前正在使用一個過濾器來消除大量不必要的數據,並嘗試使自己的計算/宏創建更容易。許可日期位於列I中。我使用Q列中的年份函數從日期中刪除日期和月份,以便能夠計算模式年份。但是,Excel會拒絕計算該模式,因爲它會一直嘗試使用過濾的信息進行計算,從而返回錯誤。沒有模式的小計功能,我無法找到適用於我的因特網環境的解決方案。

甲過濾片看起來像這樣:

Before Filtering

對於該解決方案,我需要的公式來計算模式對整個Q柱爲允許數據的範圍將由場而變化。

After Filtering

+0

您想要的模式,但僅限於過濾的值?在你上面的例子中,結果是1947年?澄清...有助於消除「不必要」數據的過濾條件是什麼?我知道這超出了你的項目範圍,但是一個數據庫,即使是像SQLite或MS Access這樣的簡單數據庫也可能會縮短這項工作的時間,並且比Excel更具擴展性。 – Hambone

+0

順便說一下,顯然有小計式模式公式的黑客攻擊:http://www.mrexcel.com/forum/excel-questions/371589-mode-subtotal.html – Hambone

+0

@Hambone是的我想模式僅適用於過濾值,是的,顯示字段的mdoe是1947。我附加了過濾器之前的數據。它基本上取出標題,一些生產信息和其他一些東西 –

回答

0

概括地說,我認爲你需要你的公式從=Year()更改爲包括條件,看是否該行是「必要的」行還是不行。根據您發佈的最新截圖,我認爲最簡單的解決辦法可能是做這樣的事情在今年(Q)列,其中,這是在Q2的公式:

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

這將導致毛坯任何無效行,您的模式功能可能只是:

=MODE(Q:Q) 

哪一個會知道忽略空白。

現在,我上面的公式的機率大於0%的可能性太過於簡單,並且您的過濾條件無法用公式複製。如果你有,你可以創建一個自定義VBA函數來判斷一個行被隱藏(過濾行將已隱藏= TRUE),這將是這個樣子:

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

而相應年份Q2中的函數將變爲:

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

並且將應用相同的模式函數。我在一個小電子表格上測試了它。過濾之前,該數據模式是2006年:

enter image description here

如果我在C列過濾掉非空白,消除我的已知的模式,在E1的公式也更改爲下一個模式,這表明過濾的值將被忽略:

enter image description here