2015-12-31 23 views
-2

我有一張非常大的數據表,由我在此感興趣的3列組成。Excel - 根據第二列和另一個條件定義的平均列數範圍

第一列標識時間(C列);這些值重複(12每十分之一秒的):

03:30.8

03:30.8

03:30.8

03:30.8

03:30.8

03:30.8

03:30.9

03:30.9

03:30.9

03:30.9

03:30.9

的第2列給我,我感興趣的數據(數字,瞳孔擴大,因變量 - J列)例如:

3.782994

3.789125

3.784591

3.786793

3.789103

3.786221

3.780111

3.783228

3.781195

3.775694

該第三塔由文本字符串識別在給定的時間(第1欄),選擇那些給定的測量(第2列)的視頻刺激。刺激名稱列是AA。例如:

沒有媒體

沒有媒體

沒有媒體

Happy.avi

Happy.avi

Happy.avi

Happy.avi

Happy.avi

快樂。AVI

Happy.avi

Happy.avi

Happy.avi

會有空白的表中的行間或。

我需要平均對於給定的刺激瞳孔擴張數據(C欄) (「快樂」 - 列AA) 但2秒它啓動之後,這將是241個細胞/行向下從第一觀察對於這種刺激,平均會涉及數千個數據單元。

我想使用Excel(建議R和MATLAB也歡迎)。

非常感謝您的閱讀和考慮!

+0

請告訴我們數據和期望的輸出應該是什麼樣子。 – ytk

+0

我假設你想要在J欄上的平均值不是正確的?在Excel中,您需要使用'averageif'或'averageifs'。如果你應該能夠使用'offset'來獲得2秒的延遲。在MATLAB中,你可以使用'accumarray' – Dan

+0

感謝你們倆 - 是的,視覺效果不錯,但只有電子表格和沒有聲望(剛加入),所以我不能發佈圖片。我剛剛編輯了這篇文章,讓你更好地瞭解數據的外觀。 – user0000

回答

0

這裏是Excel溶液使用AVERAGEIFOFFSETCOUNTA

Excel sheet

所以使用的公式是

=AVERAGEIF(OFFSET(C2,0,0,COUNTA(C:C)-1),"="&E4,OFFSET(B2,2,0,COUNTA(C:C)-1)) 

其中柱A是時間,列B是數據和列C是刺激並假定標題行(即數據全部從第2行開始)。請注意,COUNTA用於定義OFFSET高度,因此-1用於說明我的單個標題行,因此您可能需要爲表單調整此值。

+0

這是美的事情。當我更改公式以適應電子表格的結構時,平均值看起來有點偏差 - 數據從第25行開始,所以我使用:= AVERAGEIF(OFFSET(AA25,0,0,COUNTA(AA:AA )-24),「=」和E4,OFFSET(J25,240,0,COUNTA(AA:AA)-24)) – user0000

+0

平均值爲3.18716,而不是3.1686;該範圍內有233個單元格,其中包含文本「無數據」,但Excel應自動排除平均值,對不對?您是否看到我所做的更改存在任何問題,或對可能出錯的問題有任何想法?看起來範圍稍微偏離,但參考單元看起來不錯。 – user0000

+0

如果前24行中有空單元格,則可能會遇到使用COUNTA的問題。您將需要找到一種方法來動態控制'OFFSET'函數中指定的高度,該高度將專門針對您的工作表。雖然可能需要重構工作簿,以便這些數據位於某個其他工作表的第二行上。 – Dan

相關問題