作者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/cn.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