![]() |
PCDVD數位科技討論區
(https://www.pcdvd.com.tw/index.php)
- 疑難雜症區
(https://www.pcdvd.com.tw/forumdisplay.php?f=34)
- - excel vlookup運算效率問題
(https://www.pcdvd.com.tw/showthread.php?t=1079979)
|
---|
excel vlookup運算效率問題
我有一張大表格,約有50幾萬個rows,第一個column是名稱,第二個是數值
大約像這樣 A1 A2 name1-1 value1 . . name1-2 value2 . . . name1-1,1-2沒有連續,name1-1和name1-2為一組 我的運算需要用到name1-1,1-2後面的數值 方法是用vlookup去抓數值,不過這樣每組名稱都找過一次很花時間(name1,name2...),找50萬次= = 不知道有沒有可以增加運算速度的方法 還是像這類形的運算還是用程式跑會比較快呢? 謝謝 |
這應該可以解決你的問題
http://stackoverflow.com/questions/...ives-to-vlookup 資料到一定的量建議在Access或SQL Server Express處理會比較有效率. 但本身要學一點資料庫的東西就是了. |
謝謝你的回覆
我不是很懂資料庫跟VBA 但我試著用了一下 結果有出來,但VBA那方法好像跑更久@@ |
先問 NAME1 , Name2 是否有共通原則?
長度,或是某部份一樣? e.g: whatsnew-1,AAAAAA whatsnew-2,CCCCCC 把同一組資料,編一組 MD5 碼.. VBA MD5 http://rghost.net/52431889?r=3821 VLOOPUP 即可找到,變成 25萬筆. 再來.. VBA也可以用SQL http://kimbalko-chi.blogspot.tw/201...el-vba-sql.html 你參考一下.. SQL IN VBA 這已有實作過, MD5那段,你要自己試一下.. |
謝謝你的回覆
名稱依5個層級來名命的,我是有想過用if將類似的分一起,但我怕會有點危險,在人工操作下選錯之類,所以才直接用全放一起來演算的 而且以我的例子再多1個那5個層級中的變數可能就要到excel row的上限了 可能真的要換軟體就是...... 另外想請問blog中的第二的範例它要找的資料只有D3那一筆 請問要擴大範圍時要怎麼應用呢?例如我要一次找100筆之類 謝謝 |
所有的時間均為GMT +8。 現在的時間是11:13 AM. |
vBulletin Version 3.0.1
powered_by_vbulletin 2025。