我在 Excel 2007 中有一个图表,它基本上只是一条折线图。
组成系列数据的一些单元格无法通过其公式产生值,并且我希望图表在该位置放置一个间隙,但无论我做什么,其中存在公式这一事实似乎使系列将其视为零或类似的值。
如果我在该单元格上点击“删除”,则会出现间隙,但是当我添加公式时,就会出现一条连接两侧点的线。
有什么方法可以让我使用 IF 函数返回产生间隙的东西吗?
IF(somecondition; SUM(...); "")
^^- what to add here, is it possible?
以下操作无效:
IF (somecondition; SUM(...); "")
IF (somecondition; SUM(...);)
IF (somecondition; SUM(...))
IF (somecondition; SUM(...); NA)
IF (somecondition; SUM(...); 1/0)
它们仍然被绘制,好像单元格包含 0(零)。
答案1
这是 SO 的相同问题/答案。似乎您可以使用 Worksheet_Change 宏来实现这一点,但唯一的选择是,如果值为空或零,则删除单元格的内容,不幸的是,这反过来会删除您的公式。
https://stackoverflow.com/questions/1119614/return-empty-cell-from-formula-in-excel
答案2
我通常会说返回 NA()。然而,在折线图中,即使您将系列首选项设置为留空(“选择数据” -> “隐藏和空单元格” -> “将空单元格显示为:” -> “空隙”),线也会连续连接到系列中的下一个可用点。如果您不介意更改为其他图表类型,例如面积图将留下间隙。
答案3
如果您使用散点图,则定义为 =NA() 的任何点都将被省略,并且不会绘制连接线。 – DaveParillo 2010 年 1 月 9 日 6:14
仅部分正确。折线图或 XY 图中 NA() 或 #N/A 将抑制标记的绘制。如果一个或多个被 NA() 抑制的点的两侧都有标记,则一条线将跨间隙连接现有标记。如果一个或多个被抑制的点位于数据范围的末尾,则不会连接任何线,因为一侧只有一个点,而另一侧没有可连接的点。
编辑:最近(2017 年末)对 Excel 2016 的增强将 #N/A 视为空白单元格。(如果您有 Office 365,则可以切换此设置。)最后,现在我们可以让公式产生绘制为间隙的结果。
答案4
好吧,既然它是折线图,您可以尝试将单元格值设置为图表中前一个点和下一个点之间的平均值。例如:
如果 (某些条件; SUM(...); (下一个单元格 + 上一个单元格)/2 )
在我看来,如果您确实设法在这个单元格中留出空隙,那么 excel 只会用直线段将前一个单元格和下一个单元格连接起来(毕竟这是折线图)。但是,通过将中间单元格的值设置为其邻居之间的平均值(而不是空白),您可以确保 excel 确实用直线段将邻居单元格连接起来,就像中间单元格是空白一样。
这种方法有两个缺点:
- 如果您正在执行某种统计分析,例如平均值或 MSD,则这个中间单元格将影响结果,即使它不应该影响。
- 我不确定,但如果两个邻居应该是空白的(因为一个会尝试根据另一个来计算其值),它可能会产生错误的结果。