我用一個EXCEL的SHEET1來記錄我不同日期所進貨的項目
EX:
貨號 進貨日期 數量 金額
A01 2006/1/1 10 100
A01 2006/6/1 10 150
A02 2006/3/1 20 440
A03 2006/5/1 10 15
另外SHEET2則是想要顯示最新一次的進貨金額
EX:
貨號 最近一次進貨日期 數量 金額
A01 2006/6/1 10 150
A02 2006/3/1 20 440
A03 2006/5/1 10 15
因為是多筆資料,似乎無法以VLOOKUP來對應
用DMAX來抓時間的最大值似乎又沒辦法以貨號來對應
但是因為要連結特定軟體因故無法使用ACCESS
煩請EXCEL達人們.....幫忙想想辦法
THX~
2006-06-01 16:10:58 · 3 個解答 · 發問者 Mr.40 2 in 電腦與網際網路 ➔ 軟體
請問applerot大大
您提到的....
B2為陣列公式須加按Ctrl+Shift+Enter產生{}符號
為什麼加上陣列標示....答案就會正確了呢?(原先沒加陣列試過)
還有後面兩行(C,D)我加了陣列符號 , 但是沒有值出來?
2006-06-03 10:36:33 · update #1
A B C D貨號 最近一次進貨日期 數量 金額A01 2006/6/1 10 150以Sheet1 20列為例貨號A2可自己KEY INB2=MAX((Sheet1!$A$2:$A$20=A2)*(Sheet1!$B$2:$B$20))B2為陣列公式須加按Ctrl+Shift+Enter產生{}符號C2=SUMPRODUCT((Sheet1!$A$2:$A$20=$A2)*(Sheet1!$B$2:$B$20=$B2)*(Sheet1!C$2:C$20))D2=SUMPRODUCT((Sheet1!$A$2:$A$20=$A2)*(Sheet1!$B$2:$B$20=$B2)*(Sheet1!D$2:D$20))如有更多列資料公式往下拖拉[填滿]如要顯示所有貨號則A2公式=IF(SUM(1/COUNTIF(Sheet1!$A$2:$A$20,Sheet1!$A$2:$A$20))+1>=ROW(),INDEX(Sheet1!$A$2:$A$20,SMALL(IF(MATCH(Sheet1!$A$2:$A$20,Sheet1!$A$2:$A$20,0)=ROW(Sheet1!$A$2:$A$20)-1,ROW(Sheet1!$A$2:$A$20)-1),ROW()-1)),"")此公式為陣列公式須加按Ctrl+Shift+Enter產生{}符號B2的儲存格格式須設為日期*2006/6/1格式希望合用!
2006-06-02 18:16:01 · answer #1 · answered by 顯栓 7 · 0⤊ 0⤋
=LOOKUP(2,1/(($A$42:$A$4="A0"&ROW(1:1))),B$2:B$4)往右往下拉試試
2006-06-03 20:19:13 補充:
=LOOKUP(2,1/(($A$2:$A$4="A0"&ROW(1:1))),B$2:B$4)往右往下拉
2006-06-02 17:07:48 · answer #2 · answered by 信田 7 · 0⤊ 0⤋
排序:主要鍵貨號遞增,次要鍵進貨日期遞減
假設資料在 A2:D1000
在E2加入判斷式=IF(A2<>A1,"最新","")
以次類推
篩選E欄只顯示最新
如果要更有彈性(如最新N筆)
可能需要寫VBA
2006-06-02 07:46:13 · answer #3 · answered by Kevin 3 · 0⤊ 0⤋