2012-01-26 34 views
1

我有構成家庭的父母和子女帳戶。如果Parent_acct = Accnt_no,那麼它的父代。我需要找到家庭中的最大期限,併爲每個賬戶顯示爲Family_term(這是要計算的)。有什麼好辦法做到這一點?抱歉,無法發佈圖片。如何在Excel中「分組」數據並找到組中的最大值

 Parent_acct_no Account_no Type Term   Family_term(max) 
     565    565   Parent 45   78 
     565    256   Child 78   78 
     331    331   Parent 23   87 
     331    754   Child 87   87 
     331    823   Child 19   87 
+0

[你有什麼試過?](http://mattgemmell.com/2008/12/08/what-have-you-tried/)你的問題會看起來如果你意識到唯一需要考慮的列是「Parent_acct_no」和「Term」,則更簡單。 –

回答

7

您可以使用max與if組合的數組公式。假設列A(Parent_Account_No)通過E(家庭長期最大值),列公式E應該是(從E2):

{=max(if($A$2:$A$6=A2,$D$2:$D$6,FALSE))} 

請務必按Ctrl + Shift + Enter鍵輸入公式時使其成爲一個數組公式(詳見:http://www.cpearson.com/excel/ArrayFormulas.aspx

+0

謝謝你的幫助,它的工作非常好。 – Sam

+0

哇從來沒有新的數組公式,謝謝vasek – barker

+0

優秀!只是爲了澄清。輸入沒有大括號的公式,然後按Ctrl + Shift + Enter,如果Excel正確,Excel將自行添加它們。另一件事,如果你使用瑞典語,公式的參數用分號隔開;不, –

0

讓我們假設以下幾列:

A    B   C  D  E 
Parent_acct_no Account_no Type Term Family_term(max) 

而且要總結Family_term每個Type=Parent分組,那麼你可以用下面的公式在F列

(F2) =if(c2="Parent";sumif(A$2:A$500;B2;E$2:E$500);"") 

如果您命名列A(P_acc = A $ 2:A $ 500)和E(F_term = E $ 2:E $ 500),您可以編寫

(F2) =if(c2="Parent";sumif(P_acc;B2;F_term);"") 

因爲我在家裏沒有獲得excel的機會,所以我無法測試它。

希望有所幫助。

編輯:更正了我的denglish excel命令(when-> if)Thx。

+0

什麼是'什麼時候'?等一下...... Esheißt'IF' auf英語:-) –

+0

@ Jean-FrançoisCorbett這種情況發生在你手邊沒有excel來測試你的東西並在半睡半醒時寫一個答案。謝謝。 – dgw

+0

不用擔心。這將返回'Family_term(最大)'的總和,而OP要求最大的'期限'... –

相關問題