使用Excel對一列數據中每部分進行求平均值,根據平均値進行數據篩選?
我想對一列數據中每9行進行一次求平均值,然後根據這個平均值進行排序,請問怎麼進行呢?
例:每3行都是一隻股票在不同時間內觀測數據,我想對每隻股票在觀測時間內的市值進行一次求平均,就是市值這一列每三行求一個平均值,這樣我就可以按照市值對這組數據進行一次排序跳出其中市值最大的一百隻股票比如。
股票代碼 時間 市值
1001 01.01.1991 100
1001 02.01.1991 102
1001 03.01.1991 105
1002 01.01.1991 99
1002 02.01.1991 101
1002 03.01.1991 105
1003 01.01.1991 55
1003 02.01.1991 62
1003 03.01.1991 67
1004 01.01.1991 75
1004 02.01.1991 82
1004 03.01.1991 77
對每隻股票的市值進行求平均值後最好能得出下面這樣的一列數據:
股票代碼 時間 市值
1001 01.01.1991 102.3
1001 02.01.1991 102.3
1001 03.01.1991 102.3
1002 01.01.1991 101.7
1002 02.01.1991 101.7
1002 03.01.1991 101.7
1003 01.01.1991 61.3
1003 02.01.1991 61.3
1003 03.01.1991 61.3
1004 01.01.1991 78
1004 02.01.1991 78
1004 03.01.1991 78
這樣的話每隻股票在市值這列都是這隻股票在觀測期間的市值平均値了,這樣就能進一步進行排序了。
謝謝了!!!
ole-db查詢:
方法:Excel 各Excel版本使用SQL創建數據透視表的步驟教程-Excel數據透視表-ExcelHome技術論壇 -
sql代碼:
select a.股票代碼,a.時間,b.平均市值 from [sheet1$] a left join (select 股票代碼,round(avg(市值),2) as 平均市值 from [Sheet1$] group by 股票代碼)b on a.股票代碼=b.股票代碼
結果圖示:
參考一下我的解決方案吧,不一定是最優。
模擬數據
公式(和每種股票的數據數量無關的)
最終效果
至於排序,就是選中第一行,然後設置自動篩選
然後選擇排序方法就可以了
排序後的效果
默認以上的數據是按照一個excel文件中排布的數據,那麼在單元格C2中寫入如下公式:
「=sumproduct((a:a=a2),c:c)/count(a:a,a2)」,下拉就可以
推薦閱讀:
TAG:MicrosoftExcel | Excel使用 | Excel技巧 | Excel函數 |