如何在excel不同的工作表之间使用数据有效性?

来源:百度知道 编辑:UC知道 时间:2024/06/19 08:55:51
有两个工作表:

工作表1:用于输入信息

工作表2:A列是从数据库导出的信息

现在我需要的是在工作表1中,利用“数据有效性”的功能在创建一个下拉菜单,所输入的内同必须是工作表2中A列已经存在的信息。

如果是在同一个工作表中,很容易就可以使用“数据有效性”的列表功能实现,但是现在是在两个工作表之间,请问大家知道不知道如何解决啊?

谢谢大家!
我把“插入名称”和“数据有效性”结合起来啦!
“=INDIRECT("表名!$列名$行名:$列名$行名")
这个方法可行啊。谢谢。但是现在又出现了一个新问题。

因为工作表2A列中有很多空的单元格(开头,中间,结尾都有)。所以在工作表1中的列表里,也出现了很多单元格。所以在选择的时候需要下拉很长的时间才能看到真正有效的数据。不知道有没有办法把这些空的单元格从列表里过滤掉呢?谢谢啊?

Excel如果在不同工作表中使用数据有效性,直接用单元格引用是不行的,必须对引用的单元格命名,数据有效性中以名称引用单元格。
比如,sheet1中A1="上海",A2="北京",A3="广州"
sheet2中单元格B2要以以上单元格设置数据有效性时,不能用Sheet1!A1:A3,
而要在sheet1中选中A1:A3,然后在名称框里写上"城市"来命名,然后对sheet2中B2设置数据有效性时: 数据-数据有效性-序列,来源里填"=城市"(不含引号)。
对单元格命名也可以通过菜单来实现:公式-定义名称(或名称管理器)。

选择“数据有效性”之后,在“允许”里从下拉列表里选择“列表” 在“源”中输入“=INDIRECT("表名!$列名$行名:$列名$行名")
如I列的3到7行:=INDIRECT("Sheet2!$I$3:$I$7")

OK,完成数据有效性的使用

插入名称?