|
楼主 |
发表于 2014-8-29 16:47
|
显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 cleverzhzhf 于 2014-8-29 17:02 编辑
第一步:
D2:=","&B2&IFERROR(VLOOKUP(C2,C3:$D$52,2,0),)
思想:Vlookup永远返回第一个查到的值,所以采用从后向前一个个连接,就能够始终保证最全的数据,在最靠上的一行。类似于迭代,一个个连接上。
这里面务必要注意:
第一个关键环节:这个数据区域到51行截止,但是Vlookup的第二个参数,一定要引用到第52行,即C3:$D$52。否则会造成循环引用。
记住:引用区域比数据区域靠下一行
第二个关键环节:C3:$D$52,引用区域的“头”,要不断的靠下,即当前所在行的下一行。
其他:那就是一些细节的处理了。
第二步:
F2:=MID(VLOOKUP(E2,C:D,2,0),2,999)
有了第一步垫底,这第二步就异常容易。由第一步的连接产生的逗号位于字符串的第一位,所以加一个MID来使他美化一番。
第三步:
这是附件中没做的,就是把辅助列D列隐藏,省得画面乱糟糟~~
|
|