我在 Excel 中制作组合图时遇到了麻烦,特别是 x 轴。我有两列都达到 1000,但目前只有 13 个条目,其余的将随着时间的推移而填充。
我有一个编写的公式来生成#N/A
,因此没有超出我当前拥有的 13 个数据点,但 x 轴仍然显示 1 到 1000,因此图表不可读。
如何让 x 轴标签在数据停止的地方停止而不是继续到 1,000?
图表示例:
答案1
使其动态化的一种方法是使用命名公式/范围/单元格。您可以将 A3:A1000 分配给命名范围 Series_1_Y,而不是将 A3:A1000 绘制为系列 1 的 Y 值。编辑图表数据,然后编辑系列并使用命名范围。
您可以在这里定义名称:
这将是命名范围的基本概念,但您需要它更高级、更动态。有几种方法可以实现这一点。您需要做的基本事情是确定要包含的条目数。或者换句话说,行数。您可以使用 COUNT、COUNTIF、COUNTA 等来执行此操作。然后,您可以合并这些结果以用于 OFFSET 或 INDEX 之类的操作。
在使用 OFFSET 或 INDEX 方面,offset 是一个易失性函数,这意味着每当电子表格上的任何内容发生变化时,它都会重新计算。另一方面,INDEX 只会在影响它的某些内容发生变化时重新计算。因此,根据公式的使用频率或计算的大小,INDEX 不会让您的系统陷入太严重的困境。
由于您没有示例数据,我将使用以下布局:
您可以通过多种方式计算您的条目数。以下是两种选项:
=COUNT(A:A)
or
=COUNTIF(A3:A8,"<>#N/A")
'note the above only works for string version of NA
'and adjust characters to match your spelling
您将要在“定义名称”公式中使用的公式的效果如下:
=$A$3:INDEX($A$3:$A$8,COUNT($A:$A)
or
=OFFSET($A$3,0,0,COUNT($A:$A),1)
对第二个系列重复此过程,更改参考列
处理图表数据时,您需要先保存电子表格,因为工作簿名称需要成为系列名称的一部分。我将工作簿保存为 Dtest.xlsx,您可以看到“定义名称”被用作以下系列:
请注意,如果您的工作簿名称中包含空格,请用单引号/撇号将名称括起来,如下所示:
'Dtest Two.xlsx'
警告:列中不能有任何其他数字,并且您的数字需要从其起点连续。
答案2
也许最简单的方法是隐藏列(选择#N/A 列->右键单击->隐藏),它们将不会显示在图表上。