snare wrote:
因為您沒有改範圍順...(恕刪)
你好,我使用你的公式可以運作,
但現在碰到退貨時,進貨數量為負值,
而我只想得到最後進貨數量為正值的數據,
有辦法修改嗎?
snare wrote:
當資料量超多,數千筆時,請參考7樓高手
把Sheet1!$B:$B、Sheet1!$A:$A、Sheet1!$C:$C,定義成“動態範圍”
就像這樣=LOOKUP(1,0/(名稱=$A2),日期),執行效率會比較好
或使用6樓高手的陣列公式
Mystique Hsiao wrote:
此外,發現提問者對於 Excel 並不熟悉,
所以較不建議使用複雜的做法...(恕刪)
gan978a wrote:
而我只想得到最後進貨數量為正值的數據...(恕刪)
snare wrote:
我的intel I7...(恕刪)


gan978a wrote:
但是這個函數會包含"退貨時進貨數量為負值"
請問如果我只要"進貨數量為正值"的要怎麼修改?
...(恕刪)
snare wrote:
(由下往上找,跳過所有相同產品名稱但數量為負的值,找出最後一筆為正的值)
sheet2 b2
=LOOKUP(1,0/((Sheet1!B:B=A2)*(Sheet1!C:C>0)),Sheet1!A:A)
sheet2 c2
=LOOKUP(1,0/((Sheet1!B:B=A2)*(Sheet1!C:C>0)),Sheet1!C:C)
如果資料量多,建議改成動態範圍,提升計算效率
想要用定義方式,請參考7樓
=LOOKUP(1,0/((名稱=A2)*(數量>0)),日期)
=LOOKUP(1,0/((名稱=A2)*(數量>0)),數量)
要加在公式內請把 Sheet1!A:A、Sheet1!B:B、Sheet1!C:C
用以下3個取代
INDIRECT("sheet1!A1:A"& COUNTA(Sheet1!A:A))
INDIRECT("sheet1!B1:B"& COUNTA(Sheet1!A:A))
INDIRECT("sheet1!C1:C"& COUNTA(Sheet1!A:A))
...(恕刪)

gan978a wrote:
而由於我一開始沒想到,
上傳的圖和我實際的EXCEL檔的欄位不一樣
所以自己修改的很頭大
gan978a wrote:
然後在
B2格輸入 =IF(最後進貨日>0,最後進貨日,"")
C2格輸入 =SUMIFS(數量,商品名稱,B2,到貨日期,E2)
輸入完後按 Ctrl + Shift + Enter