ExcelHome技术论坛

 找回密码
 免费注册
QQ登录 只需一步,快速开始
新浪微博登陆 只需一步, 快速开始
   
高效办公必会的Office99uu优优 永久免费,网表让Excel秒变数据库 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
Excel不给力? 何不试试FoxTable! 国内首部Excel函数公式学习大典 职场充电黑科技, Office微99uu优优 免费下载Excel行业应用视频
300集Office 2010微99uu优优 Tableau-数据可视化工具 突破Excel限制,用活字格提高效率 12门Excel免费公开课任你学
你的Excel 201099uu优优学习锦囊 欲罢不能, 过目难忘的 Office 新界面 免费的Excel考勤计算系统
查看: 201|回复: 15
打印 上一主题 下一主题

[求助] 急求大神解题,初学小白遇Vlookup函数!!

[复制链接]
TA的精华主题TA的得分主题
跳转到指定楼层
1
发表于 2017-9-14 15:46 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
请问各位大神,我把表二(股票名称大全)设为数据源,想在表一(盘中热点题材个股归纳)达到以下效果:1,D列输入股票名称时C列同行弹出股票代码;
2,C列输入股票代码时D列同行弹出股票名称;
3,如果C、D列都不输入时显示空白,没有#N/A符号和其他符号。
请问可以达到这样的效果吗?
  
44.rar (92.42 KB, 下载次数: 14)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 有用有用 无用无用 分享到新浪微博
TA的精华主题TA的得分主题
2
发表于 2017-9-14 15:54 | 只看该作者
效果1和2互相矛盾,在一行之中,不能循环引用。D3=IFERROR(VLOOKUP(--C3,股票名称大全!A:B,2,),"")
TA的精华主题TA的得分主题
3
发表于 2017-9-14 15:55 | 只看该作者
效果1和2不能同时实现,不然是循环引用。D2=IFERROR(VLOOKUP(--C3,股票名称大全!A:B,2,),"")
TA的精华主题TA的得分主题
4
发表于 2017-9-14 15:57 | 只看该作者
TA的精华主题TA的得分主题
5
 楼主| 发表于 2017-9-14 16:15 来自手机 | 只看该作者 |楼主
孤山月 发表于 2017-9-14 15:55
效果1和2不能同时实现,不然是循环引用。D2=IFERROR(VLOOKUP(--C3,股票名称大全!A:B,2,),"")

如果在表二中再复制出C列股票代码和D列股票名称两列作为第二组数据,或者复制表二的数据开出表三作为数据库,能否同时达到那3个要求呢?
TA的精华主题TA的得分主题
6
发表于 2017-9-14 16:19 | 只看该作者
C列:=IFERROR(INDEX(股票名称大全!$A:$B,MATCH(D16,股票名称大全!$B:$B,0),1),"")
D列:=IFERROR(INDEX(股票名称大全!$A:$B,MATCH(--C16,股票名称大全!$A:$A,0),2),"")
还是会出现循环问题,不过好像可以实现一部分功能
TA的精华主题TA的得分主题
7
发表于 2017-9-14 16:23 | 只看该作者
用字典,将股票编码和名称分两次写入KEY和 ITEM中,可用于双向查询。
TA的精华主题TA的得分主题
8
发表于 2017-9-14 17:31 | 只看该作者
用字典,将股票编码和名称分两次写入KEY和 ITEM中,可用于双向查询。
TA的精华主题TA的得分主题
9
 楼主| 发表于 2017-9-14 18:30 | 只看该作者 |楼主
naolew 发表于 2017-9-14 16:23
用字典,将股票编码和名称分两次写入KEY和 ITEM中,可用于双向查询。

大神,该怎么达到目标呢?能详细明确说明吗?真有大用,谢谢
TA的精华主题TA的得分主题
10
发表于 2017-9-14 23:18 | 只看该作者
wisnonvv 发表于 2017-9-14 18:30
大神,该怎么达到目标呢?能详细明确说明吗?真有大用,谢谢

用事件触发自动填充吧,将代码放在工作表代码区。可双向填充。
  • Private Sub Worksheet_Change(ByVal Target As Range)
  •     If Target.Count > 1 Then Exit Sub
  •     If Target.Column < 3 Or Target.Column > 4 Then Exit Sub
  •     Dim d, arr
  •     On Error Resume Next
  •     arr = Sheets("股票名称大全").Range("a2:b" & Sheets("股票名称大全").Range("b1048576").End(xlUp).Row).Value
  •     For i = 1 To UBound(arr)
  •         If Target.Value = arr(i, 1) Then
  •             Cells(Target.Row, 4) = arr(i, 2)
  •         End If
  •         If Target.Value = arr(i, 2) Then
  •             Cells(Target.Row, 3) = arr(i, 1)
  •         End If
  •     Next
  • End Sub

  • 复制代码


    您需要登录后才可以回帖 登录 | 免费注册 新浪微博登陆
    本版积分规则
    关闭

    最新热点上一条 /1 下一条

    关注官方微信,每天坐享新鲜教程
    手机版|关于我们|联系我们|ExcelHome    GMT+8, 2017-11-19 16:56 , Processed in 0.094933 second(s), 24 queries , Gzip On, MemCache On.
    Powered by Discuz! X3.3 © 2001-2017 Wooffice Inc.
        沪公网安备 31011702000001号 沪ICP备11019229号 本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:徐怀玉律师 李志群律师
    快速回复 返回顶部 返回列表
    99uu优优