[算表] 自動尋找符合之條件並回傳資料

看板Office作者 (米米)時間9年前 (2017/03/16 10:22), 編輯推噓0(0026)
留言26則, 4人參與, 最新討論串1/1
軟體: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

03/16 10:34, , 1F
https://i.imgur.com/hDX34jv offset、index或indirect配
03/16 10:34, 1F

03/16 10:34, , 2F
合match
03/16 10:34, 2F

03/16 10:38, , 3F

03/16 10:40, , 4F
=HLOOKUP("A["&RIGHT($B2,2)-2&"]",工作表2!B:I,ROW(),0)
03/16 10:40, 4F

03/16 10:43, , 5F
https://i.imgur.com/d5tA24C vlookup、hlookup配合match
03/16 10:43, 5F

03/16 10:50, , 6F
如工作表1和工作表2,公司位置儲存格對應上一致的話可以
03/16 10:50, 6F

03/16 10:51, , 7F
l大所用的row();使用match為預設可能是不一致的情況
03/16 10:51, 7F

03/16 11:02, , 8F
之前跑過一個lookup大概40萬次的工作表
03/16 11:02, 8F

03/16 11:02, , 9F
另外兩工作表內的公司順序一致時也可以用l大回文所用到的
03/16 11:02, 9F

03/16 11:02, , 10F
函數row
03/16 11:02, 10F

03/16 11:02, , 11F
結果就是回家用電腦跑大約20分鐘....用辦公室的電腦還當了
03/16 11:02, 11F

03/16 11:11, , 12F
另外l大的公式應為right($b2-2,2)才是,不然2001右取2位為
03/16 11:11, 12F

03/16 11:12, , 13F
"01"-2後為數值-1就會出現#n/a錯誤
03/16 11:12, 13F

03/16 11:13, , 14F
我會建議layzer 工作表超過5萬行以上的話,就可能要開始
03/16 11:13, 14F

03/16 11:14, , 15F
轉往未來如何分類的方式,譬如年份,或者類行
03/16 11:14, 15F

03/16 11:14, , 16F
盡量用分類的方式壓在5~10萬行以內
03/16 11:14, 16F

03/16 11:15, , 17F
不過我提到的跟你的問題無關
03/16 11:15, 17F

03/16 16:43, , 18F
感謝各位的救援
03/16 16:43, 18F

03/17 16:07, , 19F
請問我剛剛檢查
03/17 16:07, 19F

03/17 16:07, , 20F
發現大概拉到800多筆之後
03/17 16:07, 20F

03/17 16:07, , 21F
資料就開始有誤
03/17 16:07, 21F

03/17 16:07, , 22F
有辦法解決嗎?
03/17 16:07, 22F

03/17 16:20, , 23F
中間有一筆有錯誤
03/17 16:20, 23F

03/17 16:20, , 24F
後面好像又沒錯
03/17 16:20, 24F

03/17 16:20, , 25F
我手動改掉好了
03/17 16:20, 25F

03/17 16:20, , 26F
應該是我自己有誤
03/17 16:20, 26F
文章代碼(AID): #1OoVRAAD (Office)
文章代碼(AID): #1OoVRAAD (Office)