在 Excel 2010 中使用动态命名范围创建图表

在 Excel 2010 中使用动态命名范围创建图表

我正在尝试使用动态命名范围在 Excel 2010 中创建散点图,但无法正常工作。以下是失败的简单示例:

  1. 打开 Excel,开始新的工作簿

  2. 输入一些数据: 在单元格 A1:B5 中输入的数字

  3. 在单元格 D1 中输入:$A$1:$B$5。(在我的真实工作表中,这是动态计算的,但手动输入仍然存在问题)。

  4. 在功能区上,单击公式、定义名称。使用如下所示的 公式定义MyRange1为工作表本地名称:=INDIRECT(Sheet1!$D$1)新名称对话框

  5. 单击“确定”,然后插入散点图。

  6. 打开“选择数据”对话框并输入='Sheet1'!MyRange1 选择数据对话框

  7. Excel 崩溃...

Microsoft Excel 遇到问题需要关闭。

该问题在 Windows XP 和 Windows 7 上均出现,且在两种情况下都安装了 Excel 2010,并且每次都会重复出现。


我也尝试过:

  • 为 x 和 y 数据定义单独的范围并使用“编辑系列”对话框。='Sheet1'!MyXRange在 X 值字段中输入后,Excel 停止接受键盘和鼠标输入,但 Esc 键除外,该键用于退出对话框。如果我返回对话框,它才会崩溃。

  • 将命名范围限定为工作簿而不是工作表。这实际上确实可以阻止崩溃,但我在“选择数据”对话框中收到错误,具体取决于我是否=MyRange1键入='Sheet1'!MyRange1

引用无效。 此工作簿中的一个公式...


这是一个已知问题吗?或者有地方可以报告吗?我这里没有 Excel 2007 或 2003,因此无法检查问题是否只限于 2010。如果我无法让它正常工作,我可能会使用 VBA 而不是动态命名范围。


更新:我以为我弄明白了(我发布了一个答案,现在已删除)。我将单元格 D1 = $A$1:$B$5 中的值更改为 D1 = 'Sheet1'!$A$1:$B$5,图表已正确创建。但是,创建图表时似乎不是动态的 - 它只是使用当前值来创建 X 和 Y 系列,因此更改 D1 不会使图表更新。

答案1

根据下面的链接和我的亲自测试,您必须以以下形式输入数据系列

'WorkbookName.xls'!RangeNameX

如果您的名称是动态的,则生成的图表也将是动态的。我对动态命名范围使用的公式是(根据您的情况进行修改并用于 X 和 Y 范围)。

=OFFSET($A$1,0,0,MATCH(1E+306,$A:$A,1),1)

这使得图表变得动态,只要向图表添加新附加的值(图表更新之前需要 X 和 Y 值)。

如何设置图表的来源 - Microsoft Q&A 网站 热门使用动态范围的来源 - OZGrid

答案2

  1. 当使用 INDIRECT 定义范围时,图表通常无法正确使用范围,甚至通常不接受这些命名范围。有更好(更强大)的方法来定义动态范围,例如使用 INDEX 或 OFFSET。

  2. 即使图表可以识别该名称,它也会转换为“选择数据源”对话框的“图表数据范围”框中的单元格地址。名称仅在 X、Y 和每个单独系列的系列名称范围内保留。

  3. 如果在单元格 D1 中为范围添加工作表名称前缀?图表需要完全限定的范围,因此如果单元格 D1 包含,Sheet1!$A$1:$B$5您可以在“选择数据源”对话框的“图表数据范围”框中使用定义的名称。请注意,根据第 2 点,当您单击“确定”时,Excel 会将此范围转换为其单元格地址。

答案3

以下是我创建动态图表的方法。

  1. 根据你的数据创建一个表。

    在此处输入图片描述

  2. 突出显示表格

  3. 转到插入选项卡并选择所需的图表类型。

在此处输入图片描述

当您向表中添加数据时,它也会更新到图表中。

在此处输入图片描述

相关内容