2014-06-07 195 views
0

我在excel中有很多表格。動態地計算列中數值範圍的平均值 - excel

表1: 一個Sheet 1中列的看起來像這樣

separator 
14124 
25362 
32 
32387 
23 
23 
separator 
25 
3263 
33 
2 
separator 
25326 
323 
separator 
623 
2362 
233 
88 
separator 
236523 
32 
23 
2323 
232 
23 
23 
223 
2 

基本上,值的範圍是由「分離器」隔開。我想取兩個「分隔符」之間的值的平均值,並在sheet2中將其單獨打印出來。 我肯定可以通過突出顯示值的範圍手動執行此操作,但我不想手動執行此操作。值的範圍&的位置可能會有所不同。 有沒有什麼方法可以編寫一個公式來檢測單詞「分隔符」&動態地總結兩個分隔符之間的所有值的範圍,而不選擇單元格範圍並將它們打印在另一個工作表的另一行中?

我肯定可以用Java編寫程序,因爲那就是我所知道的。但是,我們是否需要python或javascript來執行此操作?從來沒有用過使用python等excel操作。或者我們可以在excel中做到這一點?如果我們需要python或js,有人可以給我一個關於如何做到這一點的粗略想法嗎?

謝謝:)

回答

0

對於閱讀,你可以使用熊貓庫及其read_excel功能: 看到pandas documentation

請注意,您將需要其中filename是你擅長的文件名,並從點子

import pandas as pd 
df = pd.read_excel(filename, "Sheet1",header=None,skiprows=0) 

安裝xlrd包「工作表Sheet1」是您的Excel文檔中的第一個工作表的名稱(必須是有效的工作表名稱)。

不知何故,我不得不使用header = 0,但可能取決於你的excel文件的版本。所以,讓我們假設所產生的輸出(DF),貌似

 0 
0 separator 
1 25362 
2 32 
3 32387 
4 23 
5 23 
6 separator 
7 25 
8 3263 
... 

現在,分裂根據分隔符名稱,並保存到一個新的工作表,將需要更多的思考和編碼...

找出哪裏是隔板

一種方法是使用:

df == "separator" 

希望這是一個很好的起點。

+0

哦,太棒了。謝謝 :) 。 (我使用Macbook)您是否推薦使用任何特定的Python IDE?我從來沒有用過Python。 – user3713448

+0

還有一個問題。 df = pd.read_excel(文件名,sheetname)會給我excel文件中的全部數據。我如何找到一個特定的列?什麼是訪問它的方式?數據是以數組的形式存儲的? – user3713448

+0

如果你有一個列名,鍵入df [column_name]來訪問一列或訪問列1(python中的0),輸入df [0] –