作者l3112255 (米米)
看板Office
標題[算表] 自動尋找符合之條件並回傳資料
時間Thu Mar 16 10:22:00 2017
軟體:Excel
版本:2016
請問假如工作表1為
http://imgur.com/a/pbrsB
有三間公司與年份
若我想從年份的後兩碼 去工作表2判斷 並回傳資料填回工作表1
http://imgur.com/a/hOJjl
(意思是若工作表1 公司1年份為1997,則末兩碼為97
他會自動去工作表2找A[95]、A[96]、A[97]並填回公司1的前二年、前一年、當年)
有比較迅速的指令寫法嗎?
我爬過相關文章,都是以VLOOKUP或HLOOKUP去解決
但是我不會下條件的句子...
而且假如只有幾筆我可以手動解決...但有上萬筆資料...
跪求大大幫忙
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.115.78.186
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Office/M.1489630922.A.28D.html
2F:→ soyoso: 合match 03/16 10:34
4F:→ layzer: =HLOOKUP("A["&RIGHT($B2,2)-2&"]",工作表2!B:I,ROW(),0) 03/16 10:40
6F:→ soyoso: 如工作表1和工作表2,公司位置儲存格對應上一致的話可以 03/16 10:50
7F:→ soyoso: l大所用的row();使用match為預設可能是不一致的情況 03/16 10:51
8F:→ layzer: 之前跑過一個lookup大概40萬次的工作表 03/16 11:02
9F:→ soyoso: 另外兩工作表內的公司順序一致時也可以用l大回文所用到的 03/16 11:02
10F:→ soyoso: 函數row 03/16 11:02
11F:→ layzer: 結果就是回家用電腦跑大約20分鐘....用辦公室的電腦還當了 03/16 11:02
12F:→ soyoso: 另外l大的公式應為right($b2-2,2)才是,不然2001右取2位為 03/16 11:11
13F:→ soyoso: "01"-2後為數值-1就會出現#n/a錯誤 03/16 11:12
14F:→ waiter337: 我會建議layzer 工作表超過5萬行以上的話,就可能要開始 03/16 11:13
15F:→ waiter337: 轉往未來如何分類的方式,譬如年份,或者類行 03/16 11:14
16F:→ waiter337: 盡量用分類的方式壓在5~10萬行以內 03/16 11:14
17F:→ waiter337: 不過我提到的跟你的問題無關 03/16 11:15
18F:→ l3112255: 感謝各位的救援 03/16 16:43
19F:→ l3112255: 請問我剛剛檢查 03/17 16:07
20F:→ l3112255: 發現大概拉到800多筆之後 03/17 16:07
21F:→ l3112255: 資料就開始有誤 03/17 16:07
22F:→ l3112255: 有辦法解決嗎? 03/17 16:07
23F:→ l3112255: 中間有一筆有錯誤 03/17 16:20
24F:→ l3112255: 後面好像又沒錯 03/17 16:20
25F:→ l3112255: 我手動改掉好了 03/17 16:20
26F:→ l3112255: 應該是我自己有誤 03/17 16:20