✔ 最佳答案
應該是以日期先排,同姓名再往前排在一起
D1 ="排序"
D2 公式如下
=SUMPRODUCT(SMALL((A$2:A$999=A2)*(B$2:B$999),COUNTIF(A$2:A$999,"<>"&A2)+1))&A2&B2
下拉複製公式
或
=MIN(IF(A$2:A$999=A2,B$2:B$999))&A2&B2
陣列輸入(ctrl shift enter 三鍵同時輸入)
選範圍,用D欄排序
2011-12-29 14:22:07 補充:
准大的公式比較精簡,但日期欄要先排序過
2011-12-29 19:29:26 補充:
以同姓名為一組,取一組內最小日期作為排序依據,同姓名排在一起D1 ="排序"D2 公式如下
=SUMPRODUCT(LARGE((A$2:A$999=A2)*(B$2:B$999),COUNTIF(A:A,A2)))&A2&B2
下拉複製公式或=MIN(IF(A$2:A$999=A2,B$2:B$999))&A2&B2
陣列輸入(ctrl shift enter 三鍵同時輸入)選範圍,用D欄排序---------------------------------------------------------------如資料事先已經用日期排序過時,可以採用准大提供的公式較為精簡D2
=--(MATCH(A2,A:A,)&TEXT(B2,"YYYYMMDD"))
2011-12-30 11:56:04 補充:
EXCEL有一些功能可以幫助你寫公式或了解別人的公式
1. EXCEL 在編輯列中,按函數就會出現函數說明
2. EXCEL 在編輯列中,選取某段函數再按F9,就會計算出該段函數計算結果,可做為分段了解別人公式,或做為自己寫公式時偵錯之用。
3. 工具稽核中也很多工具可以使用
4. GOOGLE或YAHHO知識+ 也可以查詢到很多資料
2011-12-30 11:56:22 補充:
如何解析題目的需求
就像此題如純以文字描述大概很難了解,但輔助以圖表就能更清楚,雖是如此,有4人回應此題方向卻都不一樣,WHY?,因為還不是100%明確,所以大家先放在意見區讓版大再表達確定方向,當然還有其他目的....。
我自己對題目解讀後,整理出我想處理的方式,文字說明如下
同姓名為一組,取每組內最小日期作為第一排序依據,同姓名排在一起在依日期排序
(假設尚未依日期排序)
准大的公式是以日期已經排序(如題目資料),所以用MATCH找到每組人的第一個排序位置做為第一排序前碼,因日期已經排序過公式自然精簡。
2011-12-30 11:57:11 補充:
依照目前的資料範圍修改一下公式
=MIN(IF(A$2:A$8=A2,B$2:B$8))&A2&B2
MIN(IF(A$2:A$8=A2,B$2:B$8))就是 同姓名為一組,取每組內最小日期作為第一排序依據
IF(A$2:A$8=A2,B$2:B$8)為7個判斷的組合陣列,IF(A2=A2,B2)、IF(A3=A2,B3)、IF(A4=A2,B4)、...
2011-12-30 11:58:21 補充:
如果按F9可以查看到公式展開為
=MIN(IF({TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE},{40868;40869;40897;40875;40896;40896;40903}))&A2&B2
=MIN({40868;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE})&A2&B2
=40868&A2&B2
你可按照此方式去分解每個公式,才能去體會。自己寫公式也要會這一招,不然卡在哪裡也找不出問題來。
礙於 回文字數限制難以長篇大論,有問題再問比較實際