2017-04-14 152 views
1

我有一個Excel電子表格,包含兩列,第一列爲日期,第二列爲值。日期跨越幾年。我想寫一個函數來檢索每年的最大值。Excel,基於日期範圍的最大值

例如,在以下數據集: 2009年6月3日3 2009年6月5日5 2010年1月1日7 2010年7月7日1 2013年4月1日12 2013年5月2日77

功能2009年度將返回值3 功能2010年度將返回值7 的功能2013年將返回值77

所有的日期都在A列 全部o f值在E欄 欄JI有一個需要年份的列表,即J1 = 2009,J2 = 2010,J3 = 2011等。

每年的功能位於K欄對應的今年J列,即2009年的最大值是細胞K1,2010年的最大值是細胞K2等

我認爲這個功能應該是這個樣子: = MAX(某種類型的功能給我每年的日期範圍)

感謝您的所有幫助

回答

0

您ca氮利用:
=MAX(IF(YEAR($A$2:$A$9)=J1,$E$2:$E$9,0))
數組公式按按Ctrl + + 在同一時間進入
您可以將它
$ A $ 2:$ A $ 9日期$的列絕對引用改變它到你的最後一行
$ E $ 2:$ E $ 9該列值將其更改爲最後一行
J1第一個日期在新列中拖動時會自動更改
如果將測試日期的年份到J1並返回e對應的值

-1

我設法回答了我自己的問題。如果我定義對應的日期和數組,然後我就可以使用下面的函數值的列:

=MAX(IF(Transaction_Date<=DATE(J1,12,31),IF(Transaction_Date>=DATE(J1,1,1),Account_Balance))) 
0

讓我們看看這個例子:

+---+------------+------+-------+-------------+ 
| |  A  | B | C |  D  | 
+---+------------+------+-------+-------------+ 
| 1 | Date  | Year | Value | Max of year | 
| 2 | 03/06/2009 | 2009 | 3  | 5   | 
| 3 | 05/06/2009 | 2009 | 5  | 5   | 
| 4 | 01/01/2010 | 2010 | 7  | 7   | 
| 5 | 07/07/2010 | 2010 | 1  | 7   | 
| 6 | 01/04/2013 | 2013 | 12 | 77   | 
| 7 | 02/05/2013 | 2013 | 77 | 77   | 
+---+------------+------+-------+-------------+ 

你有兩個選擇。

1溶液(最簡單的)

添加一列名爲YEAR,你計算列A的每個單元的一年然後你建立樞紐表列的最大C.

第二種解決方案(最難)

使用矩陣函數。添加一個計算年份的列B.然後在單元格D2中寫入以下內容:=MAX(IF(B:B=B2,C:C))並按CTRL + SHIFT + ENTER。 該公式將被轉換(轉換爲矩陣函數),如= {=MAX(SE(B:B=B7;C:C))}。現在您可以將單元格D2拖動到列的末尾(示例中爲D7)。 您也可以使用我的第二個解決方案與YEAR函數的組合,就像@Yass回答的那樣。