以下两个命名范围定义有效(由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
函数的命名范围。这是真的?如果是这样,是否有另一种方法来完成同样的事情?
答案 0 :(得分:1)
对于第二个定义的名称,请尝试:
=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)
希望这会有所帮助。我能够将它放在一个定义的名称中然后绘制数据。它可能是间接的,不能用于定义的名称。
答案 1 :(得分: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))
这确实产生与第二个公式相同的结果。使用它作为命名范围内的引用:应该没有问题(假设您有足够的数据来允许30天的后退)。
您的问题显然是关于您的数据的详细信息。使用MATCH(TODAY()-30, ...
可能是一个更好的公式,而不是从匹配TODAY返回的行中减去29,但只有在日期是连续的时候才会有效。
fwiw,该公式仍然不稳定,因为TODAY function也是不稳定的。