我有两个工作簿,在每个工作簿中,每个工作表都是一年中的月份。源书和目标书具有相同的工作表名称,例如。2019年8月,2019年9月.....我在目标帐簿(单元格B9 )中创建了以下公式,以便从源工作簿(单元格AJ46)中提取值:
=INDEX('C:\FTPDownloads\Villa StuffOccupancy图表修订版1d.xlsxAug 2019'!$AJ$46,1)
即使在关闭源码的情况下,它也能正常工作。
在目标书中,我使用以下公式加载了单元格Q3:
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)
这将使用当前活动工作表加载目标书籍中的单元格Q3。因此,单元格Q3的值是2019年8月。目标书中有20个索引公式副本,唯一变化的是末尾的源单元格,在上面的公式中是AJ46。为了防止在将工作表扩展到未来几个月时不断更改索引公式,我希望使用单元格Q3中的值来代替输入实际的工作表名称。我试过了:
=索引(‘C:\FTPDownloads\Villa StuffOccupancy图表修订版1d.xlsx"&Q3&"'!$AJ$46,1)
但它会产生一个错误。我正在使用Excel2007。
发布于 2019-10-10 06:30:58
首先,如果只想返回一个特定的单元格,比如AJ46,为什么不直接引用单元格地址,而使用索引函数呢?我相信下面的代码也会返回所需的值,而不管其他工作簿是否为、open、。
='C:\FTPDownloads\Villa Stuff[Occupancy Chart Rev 1d.xlsx]Aug 2019'!$AJ$46其次,在线上甚至在这个社区中都有大量关于这个话题的讨论,就像在这个post中一样。简单的结论是:
无法使用excel公式生成动态工作簿/工作表/范围/单元格名称,并从closed工作簿返回所需的值。
第三,它可以使用VBA来完成。如果这对你来说是一个选择,你可能想要将#vba添加到你的标签中,这样其他贡献者就可以作为#vba it not my expertise来帮助你。在我之前提到的帖子中,有人提供了一个用于直接引用单元格但不包含索引的vba代码。如果这对你来说是一个选择,你可能想试一试。
第四,对于您的信息,它也可以使用PowerQuery完成,但它只在Excel2010和更高版本中可用。此外,PowerQuery最适合处理大型原始数据集,而不是结构化报告。
https://stackoverflow.com/questions/58294592
复制相似问题