【问题标题】:Is the MATCH worksheet function allowed in a named range for Excel charts?是否允许在 Excel 图表的命名范围中使用 MATCH 工作表函数?
【发布时间】:2015-08-14 07:28:35
【问题描述】:

以下两个命名范围定义是有效的(由 Excel 验证),并且都突出显示相同的单元格范围。

=OFFSET('AU_ARENDOFDAY Times'!$C$1, COUNT('AU_ARENDOFDAY Times'!$C$2:$C$10000) - 29, 0, 30, 1)

和

=OFFSET(INDIRECT("'AU_ARENDOFDAY Times'!" & ADDRESS(MATCH(TODAY(), 'AU_ARENDOFDAY Times'!$A$1:$A$10000, 0), MATCH("RAXMTR_1", 'AU_ARENDOFDAY Times'!$A$1:$ZZ$1, 0))), -29, 0, 30, 1)

第一个命名范围被接受为图表系列,它可以很好地绘制数据。不接受第二个命名范围(指向相同的单元格)。 Excel 会弹出一个错误窗口,提示“我们发现此工作表中的一个或多个公式引用存在问题。”

我尝试使用静态日期代替TODAY 函数,但它仍然不起作用。不过,这应该不是问题,因为 Excel 会突出显示两个命名范围的相应单元格。

我唯一能想到的是 Excel 图表不能使用包含 MATCH 函数的命名范围。这是真的?如果是这样,是否有其他方法可以完成同样的事情?

【问题讨论】:

    标签: excel charts named-ranges


    【解决方案1】:

    如果这些确实是“都突出显示相同的单元格范围”,那么这是您的数据的一个特点。在两组样本数据上,我得到了不同的结果。依赖有时有效的公式是不明智的。

    您似乎想在列标题中使用 RAXMTR_1 绘制列中的数据。在本例中为 C 列。您需要一个以 TODAY() 结尾的 30 天数据“窗口”。

    抛开所有不稳定的INDIRECT、OFFSET和ADDRESS函数,这可能是一个更好的公式。

    =INDEX('AU_ARENDOFDAY Times'!$A:$ZZ, MATCH(TODAY(), 'AU_ARENDOFDAY Times'!$A:$A, 0)-29, MATCH("RAXMTR_1",1:1, 0)):INDEX('AU_ARENDOFDAY Times'!$A:$ZZ, MATCH(TODAY(), 'AU_ARENDOFDAY Times'!$A:$A, 0), MATCH("RAXMTR_1",1:1, 0))
    

    这确实会产生与您的第二个公式相同的结果。将它用作命名范围内的 Refers to: 应该没有问题(假设您有足够的数据来允许 30 天的后退)。

    您的问题显然缺乏有关您数据的详细信息。使用MATCH(TODAY()-30, ... 可能是比从匹配 TODAY 返回的行中减去 29 更好的公式,但这仅在日期连续的情况下才有效。

    fwiw,该公式仍然不稳定,因为 TODAY function 也是不稳定的。

    【讨论】:

    • 在我的数据集上,两个公式一直给出相同的结果。只是第二个在绘制图表时出现了错误。你完全理解我想要完成的事情。我使用INDEX 函数而不是INDIRECT、OFFSET 和ADDRESS 函数尝试了您的示例,它似乎工作正常。我认为您对图表不允许更不稳定的功能是正确的。不幸的是,我无法避免使用TODAY。感谢您的精彩回答!
    【解决方案2】:

    对于第二个定义的名称,试试这个:

    =OFFSET('AU_ARENDOFDAY Times'!$A$1,MATCH(TODAY(), 'AU_ARENDOFDAY Times'!$A$1:$A$10000, 0)-1-29,MATCH("RAXMTR_1", 'AU_ARENDOFDAY Times'!$A$1:$ZZ$1, 0)-1, 30, 1)
    

    希望这会有所帮助。我能够把它放在一个定义的名称中,然后绘制数据。它可能是在定义的名称中不起作用的 INDIRECT。

    【讨论】:

    • 这行得通。谢谢。我认为图表不喜欢 INDIRECT 函数是对的,因为将 MATCH 调用留在那里就可以了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多