看板 Office 關於我們 聯絡資訊
軟體: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://www.ptt.cc/bbs/Office/M.1489630922.A.28D.html
soyoso: https://i.imgur.com/hDX34jv offset、index或indirect配 03/16 10:34
soyoso: 合match 03/16 10:34
soyoso: https://i.imgur.com/06CB37u 03/16 10:38
layzer: =HLOOKUP("A["&RIGHT($B2,2)-2&"]",工作表2!B:I,ROW(),0) 03/16 10:40
soyoso: https://i.imgur.com/d5tA24C vlookup、hlookup配合match 03/16 10:43
soyoso: 如工作表1和工作表2,公司位置儲存格對應上一致的話可以 03/16 10:50
soyoso: l大所用的row();使用match為預設可能是不一致的情況 03/16 10:51
layzer: 之前跑過一個lookup大概40萬次的工作表 03/16 11:02
soyoso: 另外兩工作表內的公司順序一致時也可以用l大回文所用到的 03/16 11:02
soyoso: 函數row 03/16 11:02
layzer: 結果就是回家用電腦跑大約20分鐘....用辦公室的電腦還當了 03/16 11:02
soyoso: 另外l大的公式應為right($b2-2,2)才是,不然2001右取2位為 03/16 11:11
soyoso: "01"-2後為數值-1就會出現#n/a錯誤 03/16 11:12
waiter337: 我會建議layzer 工作表超過5萬行以上的話,就可能要開始 03/16 11:13
waiter337: 轉往未來如何分類的方式,譬如年份,或者類行 03/16 11:14
waiter337: 盡量用分類的方式壓在5~10萬行以內 03/16 11:14
waiter337: 不過我提到的跟你的問題無關 03/16 11:15
l3112255: 感謝各位的救援 03/16 16:43
l3112255: 請問我剛剛檢查 03/17 16:07
l3112255: 發現大概拉到800多筆之後 03/17 16:07
l3112255: 資料就開始有誤 03/17 16:07
l3112255: 有辦法解決嗎? 03/17 16:07
l3112255: 中間有一筆有錯誤 03/17 16:20
l3112255: 後面好像又沒錯 03/17 16:20
l3112255: 我手動改掉好了 03/17 16:20
l3112255: 應該是我自己有誤 03/17 16:20