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

标签 excel charts worksheet-function named-ranges

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

因此,我在工作表 2 的每个单元格中从 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.

最佳答案

您也许可以使用命名范围。

您可以定义如下名称:

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 公式在工作表上不起作用,因为单元格包含公式,因此 COUNTA 仍然对这些单元格进行计数,即使为空。

解决方案:我们使用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))

问候,

最大

关于Excel - 从单元格范围创建图表,同时排除空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6592006/

相关文章:

绘制图表的JavaScript框架

excel - 如果列包含给定数字 X 次,则突出显示单元格

excel - 在 VBA 中使用 Excel 频率工作表函数绘制直方图

vba - 使用 FSO MoveFile 和 Name-As 重命名文件不起作用

excel - 查找包含 4 个特定值的所有行?

javascript - 在图表js中的半圆环图中绘制起点和终点之间的线

vba - Excel 中的舍入函数、工作表函数与 VBA

r - 将描述性统计值行从 R 导出到 Excel 工作表

vba - 有没有办法测试 Excel 中的图表是否堆叠了其系列

ios - 图表库在滚动时滞后