【问题标题】:Excel - Create chart from range of cells while excluding null values?Excel - 从单元格范围创建图表同时排除空值?
【发布时间】:2011-07-06 05:39:12
【问题描述】:

我有这张 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 有任何值,其他的没有任何值,因为上面描述的公式。

【问题讨论】:

    标签: excel charts worksheet-function named-ranges


    【解决方案1】:

    您可能可以使用命名范围。

    您可以定义如下名称:

    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))
    

    问候,

    最大

    【讨论】:

    • 我不明白这应该如何工作。所以我创建了一个命名范围,然后将图表指向该范围?
    • 我无法让它工作,同时尝试创建一个命名范围。我不断收到“公式错误”,即使它与上面的示例完全相同。
    • @Kenny Bones:你的价值观是从 A1 还是 A4 开始的?你的床单叫什么名字?也许您必须调整偏移公式?当你回来修改公式时,你可以看到命名范围公式创建的范围,它会在计算的范围周围显示一条虚线,这部分工作方式是否正确?
    • 嗯,当我去创建一个新名称时,我手动输入公式。所以我从 '=OFFSET(' 开始并继续手动输入其余部分。我在计算范围周围看不到虚线。只有当我用鼠标选择该区域时,这使得公式最终与我输入时完全一样它是手动的。我实际上找到了微软的一篇文章,在那里我创建了一个与示例相同的电子表格。我复制了公式,它还说“公式错误”。你有可能创建一个样本并保存它吗?上传到某个地方?
    • 主要问题是使用在工作表上定义的命名公式并告诉图形整个命名范围,例如=Sheet1!Values。这是一个示例:depositfiles.com/files/uus1pe0g0(Excel 2007 - 法语版本,但 AFAIK,Excel 应该为您解释)。我用另外两个例子编辑了我的帖子。
    猜你喜欢
    • 1970-01-01
    • 2012-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多