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

我想在Excel中执行的操作是基于在另一个单元格中输入的键值生成动态验证列表。

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


日志(建筑物,楼层)
建筑物(BuildingId,BuildingName)
楼层(FloorId,BuildingId,FloorName)


我为我所有的建筑物ID创建了一个名为“ BuildingIds”的命名范围

我通过建立名为“ Floor#BuildingId#”的建筑物为所有楼层创建了单独的命名范围

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

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

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


它部分起作用,但是总是返回相同的楼层列表,因为$ A $ 2并不是动态的,取决于它所在的行,因此我需要$ A $ 2才能使用当前行中的值。

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

=INDIRECT("A"&ROW())


但是当我尝试:

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


要么

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


我得到一个错误。

您能帮我这个公式吗?提前致谢!

最佳答案

您使用的语法不正确-手动链接的外观如下:

='Sheet 1'!A1


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

07-28 00:47