2015-02-08 81 views
2

我有一個名爲weather_data的Excel表格,它每個月都有一個列,例如, 「Jan」,「Feb」等。Excel:導出表格列名稱,公式爲

在另一個工作表中,我有一列列出了各種日期,第二列中我想使用公式從weather_data中提取數據。現在這個第二個表格看起來像這樣:

Date Avg_Temp 
Jun 
Jul 
Aug 

例如,如果我想使用來自weather_data的數據填寫Avg_Temp下的第一個條目,該數據同樣每個月都有一列,我可以手動輸入。然而,我希望我可以在Date列中驅動列引用(在這種情況下爲Jun)公式,所以我可以執行諸如=AVERAGE(weather_data[A2])之類的操作並將其複製下來。

這可能嗎?

回答

2

假設你weather_table與一月開始在第1列和12列有月,你可以在B2做一個公式是這樣抄下:

=AVERAGE(INDEX(weather_data,0,MONTH("1/"&A2))) 

enter image description here

這有兩個有趣的部分。 INDEX公式的行參數中的0表示選擇整個列。然後在第1列中將月份文本轉換爲「1 /」將其轉換爲MONTH函數可讀取的日期,然後返回該月的數字。這用作INDEX函數的列參數。

編輯:這是一個匹配您的摘要表A列的三個字母的月份縮寫表中的表頭。這將刪除該表只包含要求下令月:

=AVERAGE(INDEX(weather_data,0,MATCH(A2,weather_data[#Headers],0))) 

如果你想採取這一步,配上短短的表頭,I wrote a post有關的部分。

+0

'= 1 /「june」'在Excel 2010中給出了'#VALUE!' – Aprillion 2015-02-08 19:32:41

+1

@Aprillion,的確如此。但這不是公式中的內容。 – 2015-02-08 19:41:32

+1

啊,特殊的日期格式'= MONTH(「1/june」)',不錯的訣竅:) – Aprillion 2015-02-08 19:44:30