目前有個表單需求
使用VBA或是公式都可以
主要有A、B兩表
目的需要將B表資訊填入A表
根據A表第一欄與第一列作為B表交集條件,取B表對應出的數值,填入A表黃底欄位中
目前想說要用FOR迴圈來找
先判斷A表值有沒有在B表
(因為A表A欄位的值,可能不存在於B表A欄)
再找出A欄值再B表的位置
進一步判斷A表第一列的值對應B表的數值
......
文字難以描述... 煩請各位參閱附件實例
實際筆數非常多A表約25萬筆,B表約2萬5千筆
用上述的邏輯可能會掛掉...
煩請各位大大是否有較聰明的作法
如有描述不清之處 再請告知
謝謝
我只會 101 招...VLOOKUP
1.B表加一欄key,把兩個值合成一個
A2=B2&D2
A3=B3&D3
...以此類推
2.A表就用 VLOOKUP 去查 B 表即可
B2=VLOOKUP($A2&B$1,B表!$A$2:$D$11,3,FALSE)
其他儲存格公式都可以用「複製B2-貼上」的方式
或者用「黑十字拖拉」的方式(例:先拉 B2..B13,再往右拉到欄G)
還有
25萬筆不算多
不必太在意
Excel 2011 最多列數已經有 1,048,576 列
會慢只是因為電腦慢
感謝海綿寶寶晚上10點還回文
清楚明瞭 !
直覺看到這種問題都在想FOR迴圈...
而且我第一次處理到20幾萬筆資料
我再另一個論壇得到使用SUMPRODUCT的方法
也還不錯
可是我不太理解公式的原理 哈哈
分享如下=TEXT(SUMPRODUCT(--($A2=B表!$A$2:$A$11)*--(B$1=B表!$C$2:$C$11)*B表!$B$2:$B$11),"0;;""""")
其中SUMPRODUCT(--($A2=B表!$A$2:$A$11)*--(B$1=B表!$C$2:$C$11)*B表!$B$2:$B$11)
我不加--也OK,不確定--的用意為何
TEXT(....,"0;;""""")
應該是把0轉成空格,好抽象的寫法XDD