【问题标题】:INDIRECT function to reference cell ranges of other worksheetsINDIRECT 函数引用其他工作表的单元格范围
【发布时间】: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


    【解决方案1】:

    有多种方法可以将递增数字引入INDIRECT function's 字符串连接。我更喜欢简单的ROW function,比如ROW(1:1),它在填写时返回1, 2, 3, ...。在您的情况下,k yu 将从 ROW(3:3) 开始。

    ... -ROW(INDIRECT(B$2&"!B"&ROW(3:3)))+1),
    ..., ROWS(INDIRECT(B$2&"!B3:B"&ROW(3:3))),"")
    

    只是一个提醒;在用文本描述的单元格地址上留下绝对 $ 名称可能有助于直观地提醒什么可以前进到下一个(相对)或不前进(绝对),但代表行或列的文本是 never 实际上会发生变化,所以它们至少有点多余。

    【讨论】:

    • 感谢吉普德的回复。我需要一个列函数而不是行。我必须修改每列公式的最后一部分,因为ROWS(Product1!... 被硬编码到公式中。我希望有一种方法可以将工作表名称与“商品”工作表第 3 行中的值联系起来,这样就不需要将公式从 ROWS(Product1!... 更改为 ROWS(Product2!... 等。我意识到这很难解释我已链接到 Google 表格 (docs.google.com/spreadsheets/d/…) 中的一个示例。
    • 别管我 Jeeped,我最初误用了你的建议,但玩了一段时间后才意识到它的精彩。非常感谢!这在我的待办事项清单上已经有一段时间了。
    【解决方案2】:

    您可以修改INDIRECT() 公式以考虑当前单元格的行数,例如:

    =INDIRECT(B$2&"!B$"&ROW()&":B$"&(ROW()+397))
    

    或者,您可以使用OFFSET() 函数来移动每一行的引用:

    =OFFSET(INDIRECT(B$2&"!B$3:B$400"),ROW()-3,0)
    

    【讨论】:

    • 很抱歉给您带来任何困惑。我需要修改对其他工作表 ROWS(SHEETNAME!$B$3:$B3) 中范围的引用,而不是对包含公式的工作表中范围的引用。执行类似 ROWS(INDIRECT(B$2&"!"&$B$3:$B3)) 的操作指向当前工作表中的 $B$3:$B3 范围,而不是 B2 中引用的工作表。这有意义吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多