返回列表 上一主題 發帖

[發問] 如何以多個欄位為比對條件,將所對應到的資料回傳進新報表

資料庫部份不符合資料庫規則
這樣多檔案擷取資料,用公式連結是非常不智之舉
這樣的問題可使用VBA輔助
學海無涯_不恥下問

TOP

回復 15# daniel91276

這不是你要方法取捨的問題
基本上函數要容易做到的話,你的資料必須符合資料庫建立規則
不使用合併儲存格,每列記錄一筆資料,索引明確
你的表格沒一樣符合,要用函數或EXCEL內建功能來完成
難度都遠比VBA來的高
我並非說非得使用VBA,若要減少麻煩最重要還是建立資料表時多下點功夫
學海無涯_不恥下問

TOP

本帖最後由 Hsieh 於 2011-3-17 19:32 編輯

回復 18# daniel91276
既然您如此堅持
選取C6儲存格
定義名稱
a=MOD(ROW(),3)
x=OFFSET(B!$C6,-MOD(ROW(),3),-2)
y=B!C$4
z=y&x
打開所有活頁簿903.xls~912.xls
TEST.xls
C6=IF(ISERROR(MATCH(z,INDIRECT("["&y&".xls]B!$A:$A"),0)),"",INDEX(INDIRECT("["&y&".xls]B!$C:$C"),MATCH(z,INDIRECT("["&y&".xls]B!$A:$A"),0)+a,))
向右向下複製
學海無涯_不恥下問

TOP

回復 20# daniel91276
A4填入姓名
加入定義名稱
n=MATCH(B!$A$4,INDIRECT("["&y&".xls]B!$4:$4"),0)
C6=IF(ISERROR(MATCH(z,INDIRECT("["&y&".xls]B!$A:$A"),0)),"",INDEX(INDIRECT("["&y&".xls]B!R1C"&n&":R65536C"&n,0),MATCH(z,INDIRECT("["&y&".xls]B!$A:$A"),0)+a,))
學海無涯_不恥下問

TOP

        靜思自在 : 要批評別人時,先想想自己是否完美無缺。
返回列表 上一主題