Excel - 动态图表x轴 - 忽略没有数据的x类别

时间:2015-11-15 04:33:22

标签: excel excel-vba dynamic charts vba

我有一个预定义的x标签列表,例如一年中的几个月。 我想从我的excel图中动态地排除其中一些,例如如果某些y值为空,零或错误。

我尝试的事情:

  • 如果我使用(如果数据不好,则将xlabel更改为空白或NA()) 进程,excel仍为空白或#N / A x标签留出空间 - 见图像。这是对Creating a chart in Excel that ignores #N/A or blank cells提出的第二个最受欢迎的答案,但我之后并没有做到这一点......不幸的是,没有任何选项可以解决这个问题。在隐藏和空单元格设置中。

If there is something wrong with the Y values (blank, non-numeric etc), I want to dynamically exclude the corresponding series from the chart

  • 如果我过滤掉Y值满足拒绝条件的行,我会得到我想要的图表,但是当Y值通过其他地方的计算改变时,过滤器不会自动更新,即它不是动态的。数据透视图是相同的。
  • 我无法获得公式命名范围(Excel charts - setting series end dynamically)来做我想做的事情 - 公式将返回类似于' Jan,FALSE,Mar,Apr'而不是Jan,Mar,Apr'我们最终会遇到与上图相同的问题。

非VBA解决方案首选=)

1 个答案:

答案 0 :(得分:1)

Buddy,似乎仍然可以找到非VBA解决方案,因为解决方案在于隐藏所述行。 但是,如果你一心想找到非vba解决方案,那么这里是非常粗糙的解决方案 - 假设这是带有辅助列的数据(C3:I15),如下所述 -

enter image description here

  • 辅助列(hC1)具有公式

    = IF(ISNUMBER(D4),1, “”)

  • hC2有公式

    = IFERROR(E4 * ROW(), “”)

  • hC3有公式

    =小($ F $ 4:$ F $ 15 ROW() - 3)

    • X有公式

    = IF(ISNUMBER(G4),INDEX(C4:C15,MATCH(G4,F4:F15,0)), “”)

    • Y有公式

    = VLOOKUP(H4,C4:D15,2,FALSE)

在输入第一行后拖下所有公式......

现在您可以从连续数据中绘制图表 -

enter image description here