✔ 最佳答案
Vlookup & Hlookup 本身都有d先天不足, lookup value一定要放係表格最左或最上方, 所以唔詳細講啦! 反而match index組合就值得研究一吓 :
好似你o既例子, 我會再開工作表, 改名做Stocklist, 裡面做表如下.
A B C D
1 貨品編號 名稱 單位 價錢
2 S01 原子筆 枝 5
3 S02 釘書機 個 25
4 S03 間尺 把 3
5 S04 膠紙 卷 4.5
6 S05 公文袋 個 1.5
7 S06計算機部 102
先睇睇 INDEX 既應用 :
句法 --> INDEX(範圍,列數,欄數)
=INDEX(A1:D7,3,4)
即係搵表格範圍內, 第3列, 第4欄既資料, 即S02, 釘書機既價錢, 所以答案=25
基本上就係用呢個函數嚟抽取資料
假設你既送貨單(Sheet2)如下設定 :
A B C D E
1 貨品編號 名稱 單位 價錢 數量
2 ## ## ## ## ##
3 ## ## ## ## ##
4 ## ## ## ## ##
貨品編號&數量其實係Sheet1度搵返就ok, (=Sheet1!儲存格)
至於名稱, 單位, 價錢就可以利用index match組合嚟搵返資料, 方法如下:-
好似係名稱B2格, 你可以輸入 :-
=INDEX(Stocklist!$A$1:$D$7,MATCH(Sheet1!$A2,Stocklist!$A$1:$A$7,0),2)
MATCH主要係搵返指定資料係指定列或欄既順序, 其實INDEX內既列數同欄數都可以用呢個方式嚟增加效率同彈性. (不過, 唔係度講啦, 消化咗之後自己可以試試改改! ^^)
同樣道理, 你可以開一個工作表輸入客人資料, 利用返Sheet1內既Customber Code係送貨單上Call返相應資料出嚟.
P.S. 注意 : 當貨品編號仍未輸入或編號出錯, 相對應既INDEX公式會出現#N/A, 你可以利用=IF(Sheet1![編號格]=0,"",Sheet1![編號格])嚟遮醜, 其他格都係用呢個型式做就ok!
2008-09-19 16:49:56 補充:
sorry, 有條公式寫得唔係咁準確, Sheet2(送貨單) B2格應該寫成
=INDEX(Stocklist!$A$1:$D$7,MATCH($A2,Stocklist!$A$1:$A$7,0),2) -->因為你已經係Sheet1 Call返貨品編號去A2格