我正在绘制一组数据,这些数据在某些单元格中有空白。在空白单元格中我有公式,我必须保留公式。当我绘制数据时,空白单元格绘制为零。我想在图中放置空白而不是零。 我试图右键单击图>选择数据>隐藏和空单元格设置>显示空单元格作为差距。但是这并没有帮助!以Excel中的间隙形式绘制空白单元格
回答
而不是放零或空字符串尝试把#N/A
。
你可以用像=IF([test],[value],NA())
这样的公式来做到这一点。
这将允许图表不会将缺失的值显示为零,但如果我理解您的问题,它仍然不是您想要的,因为您希望将缺失的值表示为间隙,而不是缺少的值。
我知道查看差距的唯一方法是使用分散图。
据我所知,所有使一条线连接两个点的图确实加入了两点,并且没有缺失点的概念。他们只是加入了两个最近的点。
一个解决方案可能是创建一个VBA宏,该宏进入图中,并在数据丢失时更改每个图线的颜色。
您的解决方案解决了我的问题,因为我在开始或结束时只有空白单元格。谢谢! –
只对零散图作品的评论帮助了我。 “我知道查看差距的唯一方法就是使用分散的图表。” – luvlogic
一个解决方案可能是将一个VBA宏放入图中,并在数据丢失时更改每个图线的颜色。
我有代码,修改图表。 它适用于具有#N/A和na()函数的单元格。像老的Excel一样。 首先,你需要用公共子模块:
Public Sub FormatNA()
Dim myChart As ChartObject
Dim series_i As Integer, series_count As Integer
Dim values_i As Integer, values_count As Integer
Dim rows As Integer, r As Integer
Dim mySeries As Object
Dim myValues As Variant
Dim myPoint As Object
Application.ScreenUpdating = False
If ActiveSheet.ChartObjects.Count = 0 Then Exit Sub
' for each chart in active sheet
For Each myChart In ActiveSheet.ChartObjects
' Determine Chart Type
Select Case myChart.Chart.ChartType
Case xlLine, _
xlLineMarkers, _
xlLineMarkersStacked, _
xlLineMarkersStacked100, _
xlLineStacked, _
xlLineStacked100, _
xlXYScatter, _
xlXYScatterLines, _
xlXYScatterLinesNoMarkers, _
xlXYScatterSmooth, _
xlXYScatterSmoothNoMarkers
' for each series
series_count = myChart.Chart.SeriesCollection.Count
For series_i = 1 To series_count
' for each data
Set mySeries = myChart.Chart.SeriesCollection(series_i)
Set myPoint = mySeries.Points(1)
myValues = mySeries.Values
values_count = UBound(myValues)
' global formatting:
Select Case mySeries.ChartType
' MARKERS:
Case xlLineMarkers, _
xlLineMarkersStacked, _
xlLineMarkersStacked100, _
xlXYScatter, _
xlXYScatterLines, _
xlXYScatterSmooth
With mySeries
.MarkerForegroundColorIndex = myPoint.MarkerForegroundColorIndex
.MarkerForegroundColor = myPoint.MarkerForegroundColor
.MarkerBackgroundColorIndex = myPoint.MarkerBackgroundColorIndex
.MarkerBackgroundColor = myPoint.MarkerBackgroundColor
.MarkerForegroundColor = myPoint.MarkerForegroundColor
.MarkerSize = myPoint.MarkerSize
.MarkerStyle = myPoint.MarkerStyle
End With
' NO MARKERS, JUST LINE:
Case Else
End Select
With mySeries
.Border.Color = myPoint.Border.Color
.Border.Weight = myPoint.Border.Weight
With .Format.Line
.ForeColor.RGB = myPoint.Format.Line.ForeColor.RGB
.BackColor.RGB = myPoint.Format.Line.BackColor.RGB
.Weight = myPoint.Format.Line.Weight
.Visible = msoTrue
End With
End With
For values_i = 2 To values_count
' set line invisible if #NA
If IsEmpty(myValues(values_i - 1)) And Not IsEmpty(myValues(values_i)) Then
mySeries.Points(values_i).Format.Line.Visible = msoFalse
'mySeries.Points(values_i).Border.Color = RGB(255, 255, 255) ' for debugging
'mySeries.Points(values_i).Border.Weight = 1
End If
Next values_i
Next series_i
Case Else
' different chart type
End Select
Next
Application.ScreenUpdating = True
End Sub
然后,你必须每次您计算工作表触发此子: 在的ThisWorkbook定义子:
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
Static Calculated As Boolean
If Not Calculated Then
Call FormatNA
Calculated = True
Else
Calculated = False
End If
End Sub
也许它并不完美,但它适用于我。 Sample of manipulated chart
可能是它可能是有用的任何一个人如何有这个问题,
第一步:先弄Chartpage访问和使用显示空白作为
Excel.Chart chartPage = myChart.Chart;
chartPage.DisplayBlanksAs = Excel.XlDisplayBlanksAs.xlInterpolated;
编码愉快。
正如stenci所说,由于单元格中存在公式,很难创建没有VBA的间隙。耗时的解决方案是逐个删除提供空白单元格的公式,以便将它们绘制为间隙。 对于可能太耗时的大型数据集。
有一个解决办法,如果你愿意打开和关闭文件:
- 将空白单元格显示为空。例如:= IF(COUNT(A1)> 0,A1,“”);
- 保存工作簿的副本在您的首选格式,因为下一步将消除公式;
- 工作簿保存为一个不同的文件名.CSV文件;
- 关闭文件。然后重新打开文件;
- 现在的线图将提供空单元间隙。
请注意,间隙的两侧都需要有一个线段,即间隙两侧至少有两个数据单元。具体来说,这将形成一个间隙: A1 = 1,A2 = 2,A3 =(空白),A4 = 4,A5 = 5。
而且这将不绘制的间隙: A1 = 1,A2 =(空白),A3 = 3,A4 = 4。
- 1. Excel中的空白单元格
- 2. 修剪Excel单元格中的空白空间
- 3. Excel VBA条件格式化行中的空白单元格
- 4. 空白单元格的Excel列表
- 5. 使用Excel中的公式填充空白单元格(无VBA)
- 6. EPPlus可以区分Excel工作表中的空白单元格和空白文本单元格吗?
- 7. Excel导入返回空白单元格
- 8. 减去空白单元格 - Excel
- 9. Excel函数与空白单元格
- 10. Excel计数非空白单元格
- 11. 在数据库中插入空的excel单元格作为空白单元格
- 12. Excel VBA中复制下来了空白单元格
- 13. 在excel中选择并复制非空白单元格
- 14. iOS WebView空白间隙
- 15. Excel VBA - 如何找到空白单元格和从活动单元格到空白单元格的总和
- 16. 空白单元格
- 17. 检查excel中的单元格是否为空或空白
- 18. 链接到Excel中的空白单元格时出现空值
- 19. 非空白的单元格乘以
- 20. Excel - 用于计算带空白单元格的列之间差异的公式
- 21. 空白单元格与单元格之间的差值=“”
- 22. Excel:获取字符之间的值,但是如果空白复制单元格?
- 23. Matlab绘制一个excel单元格
- 24. excel帮助“价值?”错误,以显示空白单元格
- 25. 在Excel中以字符串形式引用单元格的值
- 26. 我如何全部更换。在Excel中有空白单元格的单元格?
- 27. UITableView的空白单元格
- 28. 如何使Excel“IF”公式计算空白单元格为“0”?
- 29. 在Excel中,如何计算空白单元格的数目,直到下一个非空白单元格
- 30. 表格单元格内的Flash影片上的空白空间
嗨萨拉,你可以提供一些屏幕截图?在Excel 2010中,当我测试此方法时,评估为空字符串的公式在我的图表中不显示为零。 http://imgur.com/3bopUId –