【发布时间】:2015-04-03 08:37:54
【问题描述】:
我正在努力推导出一种对其他工作表上的单元格范围进行动态间接引用的方法。希望有任何建议,详情如下:
工作簿包括 4 个工作表(Product1、Product2、Product3、Warehouses)。仓库工作表包含以下公式,用于从三个产品工作表(源自http://exceltactics.com/make-filtered-list-sub-arrays-excel-using-small/)中为每个仓库填充库存清单。这是单元格 B3 中的公式:
=IFERROR(INDEX(INDIRECT(B$2&"!B$3:B$400"),SMALL(IF(INDIRECT(B$2&"!$C$3:$C$400")=$B$1,ROW(INDIRECT(B$2&"!B$3:B$400"))-ROW(INDIRECT(B$2&"!B$3"))+1),ROWS(Product1!$B$3:$B3))),"")
地点:
仓库-->$B$1 = 仓库 1 或仓库 2
仓库-->B2、C2、D2 = Product1、Product2、Product3 的列标题
产品表-->B 列 = 序列号
产品表-->C 列 = 位置(仓库 1、仓库 2)
目前,我必须修改每一行公式的最后一部分:ROWS(Product1!$B$3:$B3)、ROWS(Product2!$B$3:$B3)、ROWS(Product3!$B$3:$B3)。我正在尝试像代码的其他部分一样将其动态链接到列标题(例如ROW(INDIRECT(B$2&"!B$3:B$400"))。但我被困住了,因为$B3 的范围必须随每一行而变化,而其他范围是静态的,并且可以很好地包含在引号中。
这项工作很重要,因为我希望能力较弱的用户能够将公式复制到新列而无需修改它。感谢您对此的任何想法!
【问题讨论】:
标签: excel excel-indirect