Excel数据验证来源

时间:2013-03-04 17:18:54

标签: excel excel-formula validation

我尝试过搜索,但可能只是找不到正确的关键词组合,而且无法找到解决方案。

我在Excel中尝试做的是根据在另一个单元格中输入的键值生成动态验证列表。

我有3个工作表:WSName(Columns)

  1. 日志(建筑物,楼层)
  2. 建筑物(BuildingId,BuildingName)
  3. 楼层(FloorId,BuildingId,FloorName)
  4. 我为所有名为“BuildingIds”的建筑ID创建了一个命名区域

    我通过名为“Floor#BuildingId#”

    的建筑为所有楼层创建了单独的命名范围

    我想要的是,当在日志工作表中选择建筑物时,楼层列表将从楼层工作表中动态填充该建筑物的可用楼层。

    我的想法是在数据验证来源中我应该能够做到这一点:

    =INDIRECT("Floors"&$A$2)
    

    它部分有效,但总是返回相同的楼层列表,因为$ A $ 2不是动态的,具体取决于它所在的行,所以我需要$ A $ 2来使用当前行的值。

    这将返回我想要当前行的所选建筑物的值:

    =INDIRECT("A"&ROW())
    

    但是当我尝试时:

    =INDIRECT(CONCATENATE("Floor","A"&ROW()))
    

    OR

    =CONCATENATE("Floor",INDIRECT("A"&ROW()))
    

    我收到错误。

    请帮我解决这个问题?!提前谢谢!

2 个答案:

答案 0 :(得分:2)

您使用的语法不正确 - 这就是手动链接的样子:

='Sheet 1'!A1

添加感叹号和',您就完成了。其余对我来说似乎很好)

答案 1 :(得分:1)

好的,我有这个工作,我只需将数据验证来源设置为:

=INDIRECT(CONCATENATE("Floors",A2))

然后,当公式被复制到整个列时,A2按预期更新到当前行。

@Peter L.感谢您的帮助!