在Excel中创build一个忽略#N / A或空白单元格的图表

我正在尝试创build一个dynamic数据系列的图表。 图表中的每个系列都来自绝对范围,但只有一定范围内的数据可能有数据,其余的将是#N/A

问题是图表将所有#N/A单元格作为值而不是忽略它们。 我已经通过使用命名的dynamic范围(即插入>名称>定义),但这是非常低效的,因为每个图表有4个dynamic系列,我必须制作25这些图表。

有没有其他解决scheme可以让我为数据系列指定一个范围,但是告诉图表忽略所有“#N / A”或空白单元格?

我遇到了同样的问题,通过使用IF语句将不需要的值返回给“”,并且图表将按照您的描述进行操作。

但是,当我使用#N/A而不是"" (重要的是,请注意它没有#N #N/A的引号而不是"#N/A" ),图表忽略了无效数据。 我甚至试图把一个无效的FALSE语句,它的工作原理是一样的,唯一的区别是#NAME? 作为单元格中的错误而不是#N/A 。 我将用一个组成的IF语句向你展示我的意思:

 =IF(A1>A2,A3,"") ---> Returned "" into cell when statement is FALSE and plotted on chart (this is unwanted as you described) =IF(A1>A2,A3,"#N/A") ---> Returned #N/A as text when statement is FALSE and plotted on chart (this is also unwanted as you described) =IF(A1>A2,A3,#N/A) ---> Returned #N/A as Error when statement is FALSE and does not plot on chart (Ideal) =IF(A1>A2,A3,a) ---> Returned #NAME? as Error when statement is FALSE and does not plot on chart (Ideal, and this is because any letter without quotations is not a valid statement) 

当您将图表引用到定义的范围时,将绘制该范围内的所有点,将(为绘图而定)误差和空白解释为空值。

#N / A值为空的图表

您可以select将其作为空(空格)或强制为零值。 但是这些都不会调整图表系列数据所指向的范围。 从我所收集的信息来看,这些都不合适。

图表隐藏/空单元格选项

如果隐藏 #N / A数据所在的整个行/列 ,图表应该完全忽略它们。 您可以通过右键单击|手动执行此操作 隐藏行或使用表格AutoFilter。 我认为这是你想要完成的。

隐藏的源数据行的图表会忽略隐藏的数据

请注意,在绘制折线图时,使用= NA()(输出#N / A)来避免绘制不存在的值将仅适用于每个系列的结尾,即第一个和最后一个值。 两个其他值之间的#N / A将被忽略和桥接。

示例在这里绘制

你是正确的空白“”或string“#N / A”确实被解释为在Excel中的值。 您需要使用函数NA()。

你可以使用函数“= IF(ISERROR(A1); 0; A1)”,如果单元格A1包含一个errore,它将显示零,否则显示为真值。

如果您想要分散绘制一个xy列,但不是其中一个列中的所有单元格都填充了有意义的值(即其中一些列具有#DIV/0! ),则在列中插入一个新列违规列和type =IFERROR(A2, #N/A) ,其中A2是违规列中的值。

如果有#DIV/0!这将返回#N/A #DIV/0! 否则返回良好的价值。 现在用你的新列来绘制你的图,Excel忽略#N #N/A值,不会将它们绘制为零。

重要提示 :不要在公式中输出"#N/A" ,只输出#N/A

只是想把我的2cents在这个问题上… … –

我有一个类似的需求,我通过INDEX / MATCH从另一个表中提取数据,由于不匹配,很难区分实际的0值和0值(例如,显示进度价值在12个月内,我们只在2月份,但其余的月份数据还没有提供,列图表仍然显示0到3月至12月无处不在)

我最终做的是创build一个新的系列,并将这个新的系列图作为折线图绘制出来 ,然后我通过select不显示行中的选项来隐藏折线图,并将数据标签放在顶部,公式对于这个新系列的价值是这样的:

= IF(LEN([@ [column1]])= 0, NA() ,[@ [column1]])

我使用LEN作为validation,因为ISEMPTY / ISBLANK没有工作,因为INDEX / MATCH的结果总是返回一个空白以外的东西,即使我在IFERROR之后放了一个“…”

在折线图上的错误值NA()使得它的值不显示…所以这个解决了我…

我猜这个程序没有图片是有点困难的,但是我希望它能绘制某种图片,让你可以使用一个解决方法,如果你有类似的情况就像我的

一种解决scheme是图表/graphics不显示隐藏的行

你可以testing这个function:1)右键点击行号2)点击隐藏。

为了做到这一点,这是简单的代码:

 For Each r In worksheet.Range("A1:A200") If r.Value = "" Then r.EntireRow.Hidden = True Else: r.EntireRow.Hidden = False Next 

还有一个不太为人所知的解决scheme,在某些地方有优点。 使用#NULL! 不绘制的错误,不会为绘图创build零点。

所以你的情节栏填充了以下构造。 假设列A中的实际数据,并且绘制的版本在列C中。

= If(数量(A2),A2,A2 A3)

这个空间是一个小的已知算子产生两个单元格地址或范围的交集。 如果没有交集,那么它会产生消息#NULL!

包含#NULL! 跳过绘图的目的。

Aside(对于微软)只需要让math公式忽略这样的单元格?

这是我发现,因为我只绘制了每个4列的3个单元集中在一起。 我的图表有一个与我的X轴date合并单元格。 问题:BC26-BE27在我的图表上绘制为零。 在这里input图像描述

我点击图表侧面的filter,find它显示数据点的所有列的位置。 我取消选中没有值的框。 在这里input图像描述

它为我工作。

我有一个类似的问题,使用X / Y图表,但也需要计算两组数据的相关函数。

=IF(A1>A2,A3,#N/A)允许绘制图表,但XY相关性失败。

我解决了这个=IF(A1>A2,A3,FALSE)

然后可以使用条件格式或其他技巧removed FALSE

如果您在图表上使用垂直刻度(使用格式轴)从0.0001运行(例如),那么Excel认为是零的值将不会被绘制。 图表中的坐标轴仍然看起来像从零开始向上运行。

如果您使用PowerPivot和PivotChart,则会排除不存在的行。

我find了一个方法来做到这一点。

你可以做一个x,y散点图。 它会忽略空logging(即行)

最好的方法是使用

 Dim i as Integer For i = 1 to 1000 If CPT_DB.Cells(i, 1) > 100 Then CPT_DB.Cells(i, 2) = CPT_DB.Cells(i, 1) Else CPT_DB.Cells(i, 2) = Empty //********************** End If Next i 

我有一个完整的线出现相同的问题。

我的数据的结尾只有#N / A。

当我将图表types从堆栈行更改为行时的末尾已从图表中删除。

如果#N / A在数据的中间,那么这是行不通的,只有在数据的尾部。