Excel - 从单元格范围创建图表,同时排除空值?

时间:2011-07-06 05:39:12

标签: excel charts worksheet-function named-ranges

我有这张Excel表格,它基本上包含很多数据。 现在,此Excel工作表通过导入数据的宏动态更新。因此,数据可能会发生变化,这意味着某些单元格可能会被填充,而其他单元格则不会填充。

所以我在A2中的每个单元格中都有这个公式:A60到M2:M60基本上是这样的:

=IF(Sheet1!E2<>0;Sheet1!A2;"")

意思是,如果我所在的行上的单元格E2为0,那么新电子表格中复制的值就不算什么了。下一行也是如此:

=IF(Sheet1!E3<>0;Sheet1!A3;"")

这一直重复到第60行。

现在,我想要做的是选择范围A2:A60并将该数据插入图表。但问题是,图表添加了没有值的单元格。我想将其从图表中排除,而不必更改图表的范围。这是否可以使用图表选择中的公式?或者我必须使用宏吗?

编辑:现在,当我基于A2创建它时,图表看起来像这样:A60。请注意,由于上述公式,只有A4:A17实际上有任何值,其他没有任何值。

Graph with unwanted (null) values.

1 个答案:

答案 0 :(得分:3)

您可以使用命名范围。

您可以定义名称:

Name    Definition
Date    =OFFSET(Sheet1!$A$1,1,0,COUNTA($A:$A)-1)
Value   =OFFSET(Sheet1!$B$1,1,0,COUNTA($B:$B)-1)

然后将它们用作图表中的来源。

您可以找到更多信息on MS Website

[编辑]以下是另外两个例子:

[编辑2]聊天内容的工作结果:

问题: COUNTA公式在工作表上不起作用,因为单元格包含公式,因此即使值<{1>},COUNTA仍会对这些单元格进行计数em>空了。

解决方案:我们使用SUMPRODUCT公式计算空值

Name   Definition
Date   =OFFSET(Sheet1!$A$2,1,0,SUMPRODUCT(IF(Sheet1!A2:A60<>"",1,0)),1))
Value  =OFFSET(Sheet1!$B$2,1,0,SUMPRODUCT(IF(Sheet1!B2:B60<>"",1,0)),1))

此致

最高