【问题标题】:Dynamic named range including rows and columns动态命名范围,包括行和列
【发布时间】:2021-12-09 11:42:30
【问题描述】:

这里需要一些关于 excel 动态命名范围的帮助。

我知道如何创建一个动态命名范围,根据范围的大小调整行高(包含数据的行数):

=OFFSET(Helper!$DJ$3,0,0,SUM(--(Helper!$DJ$3:$DJ$30"")))

但是,我发现自己要处理跨多个列的大量数据(大约 100 个),我真的希望避免创建 100 个命名范围。

必须可以创建引用整个数据集 (DJ3:HE30) 的单个命名范围,并且公式动态选择要查看的列,并且(如前所述)选择要在该特定列中返回的行数。

我得到的最接近的是:

=OFFSET(Helper!$DJ$3,0,0,SUM(--(Helper!$DJ$3:$DJ$30"")),SUM(--(Helper!$DJ$3:$HE $3"")))

但这只是转到包含数据的最后一列(这很有意义,因为它对列和行做同样的事情)。

我假设我需要调整偏移参考的起点并以某种方式将该列传递给公式的其余部分。

这些命名范围将用于下拉列表,因此第一个下拉列表将是需要传递给第二个下拉列表(将使用这个新的时髦命名范围)的条件。

例如 - 如果我的第一个下拉菜单使用标准 1、2、3 等 - 我的第二个下拉菜单需要显示如下结果:

  • 选项 1 = A、B、C
  • 选项 2 = D、E、F
  • 选项 3 = G、H、I

所以本例中包含字母的列表都是在单独的列中,所以动态范围需要识别使用哪一列来拉取正确的列表。

此外,对于列数,我认为我需要将其设为 INDEX 而不是 OFFSET。

谁能指出我正确的方向?

提前致谢,非常感谢!

【问题讨论】:

  • 匹配正确列的标准是什么?
  • 对于行部分,这行得通吗? =Helper!$DJ3:INDEX($DJ3:$DJ30,SUM(--(Helper!$DJ$3:$DJ$30<>"")))
  • 感谢 P.b,行的索引部分工作得很好!我将更新问题以阐明应如何选择该列,但本质上它是一个单元格参考。
  • 如果没有数据示例,很难理解列引用指向何处。为什么 A,B,C 例如选项 1?你能用一些数据样本解释一下吗?

标签: excel-formula named-ranges


【解决方案1】:

看来我自己解决了这个问题。

我所做的是创建 2 个命名范围作为辅助单元格 - Range_Start 和 Range_End。这些范围是包含 ADDRESS 引用的单个单元格,使用 MATCH 来挑选我需要的列的开头和结尾。

然后我将这些命名范围传递给我在问题中显示的公式,但使用 INDIRECT 将单元格转换为地址:

=INDIRECT(Range_Start):INDIRECT(INDIRECT(Range_Start):INDIRECT(Range_End),COUNTA(INDIRECT(Range_Start):INDIRECT(Range_End)))

像梦一样工作:-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-05
    • 1970-01-01
    相关资源
    最近更新 更多