我正在努力推导出一种对其他工作表上的单元格范围进行动态间接引用的方法。希望有任何建议,详情如下:
该工作簿包括 4 个工作表(产品 1、产品 2、产品 3、仓库)。仓库工作表包含以下公式,用于从三个产品工作表(源自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
必须随每一行而变化,而其他行是静态的,并且可以很好地包含在引号中。
这项工作很重要,因为我希望能力较弱的用户能够将公式复制到新列而无需修改它。感谢您对此的任何想法!