返回列表 上一主題 發帖

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

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

本帖最後由 daniel91276 於 2011-3-14 12:11 編輯

希望可以另外做一份報表以每個人及所屬的專案 ( 如: Jimi , 903CL0) 為比對條件
將所對應到的資料回傳進新報表


連結進新報表



抱歉  補上問題的壓縮檔
Test.zip (298.83 KB)

已經這麼多種解答了
我的看法
將各工作簿計算後的欄位,用INDEX引用至TEXT檔中的資料工作表中(新增一工作表)
再在TEXT直接取用[TEXT.XLS]資料!中的數值
經過一個工作表來儲存需要資料,不需開啟其他檔,但要更新

不是不幫忙架構,實在看不懂TEXT中的資料要引用其他工作那個欄位
知之為知之,不知為不知,誠實也!

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

回復 19# Hsieh


非常感謝 Hsieh 大大,我已經成功的完成了,只是剛剛檢查了一下,
發現這樣的方法是對應每個報表的位置,但由於報表裡面同一欄位可能
會因為人員的異動造成資料無法對應正確。

想請問有沒有辦法增加比對條件來抓取正確的資料?還是只能一個一個把資料調整到位再進行處理。

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

本帖最後由 ANGELA 於 2011-3-18 00:37 編輯

回復 17# ANGELA


ANGELA 大大您好,因為這次的資料也是一份已經做好的報表,所以沒有辦法依照正常得資料庫方式製作
造成您的不便真的非常抱歉。
您建議的LOOKUP公式還是會帶出 NA,所以我把圖再次貼上來給您看看,是不是我有地方弄錯了


不好意思  一直麻煩您,如果是我在操作上面有問題,可否貼圖給我看呢?  非常感謝您!!
合併格有改了嗎?參照及被參照都要用格式刷刷過依12樓的方式.

TOP

本帖最後由 ANGELA 於 2011-3-16 19:00 編輯

回復 14# daniel91276

VLOOKUP確實行不通用LOOKUP吧

    =LOOKUP(2,1/((C$4&$A6=INDIRECT("["&$C$4&".xls]b!a6:A176"))*(B6=INDIRECT("["&$C$4&".xls]b!B6:B176"))),OFFSET(INDIRECT("["&$C$4&".xls]b!a6:A176"),,MATCH($A$1,INDIRECT("["&C$4&".xls]b!b5:l5"))))
資料庫不按規則建立確實增加不少麻煩.合併格最好只用在不影响運算的地方.

TOP

回復 15# daniel91276

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

TOP

回復 13# Hsieh


Hsieh 大大您好,小弟知道如果透過 VBA 會方便很多,但小弟目前只能對"基本"的 excel 做應用
如果上升的程式碼就不行了><。
所以只好笨人用笨方法,慢慢以公式帶入再土法煉鋼,請版大見諒!

TOP

回復 12# ANGELA


   感謝 ANGELA 大大,我已將儲存格格式變成每格內有可帶入
   公式的部分,陣列已經加上(如圖),可是數字所帶到 C10 的值還是跟 C9 的值一樣。*(正確的值應為5)    :'(

TOP

        靜思自在 : 我們要做好社會的環保,也要做好內心的環保。
返回列表 上一主題