如何隐藏 Excel 分组条形图中的零值?

如何隐藏 Excel 分组条形图中的零值?

假设以下数据:

X       | A | B | C | D | E | F
Group 1 | 1 | 0 | 0 | 2 | 0 | 0
Group 2 | 0 | 0 | 3 | 0 | 1 | 0
Group 3 | 0 | 1 | 0 | 0 | 0 | 2

基本上,我测量了 A 到 F 的 6 个元素,因此我有 6 个值。它们属于 3 种不同的类型,因此我创建了 3 个组。

我想使用分组条形图,这样我只有 6 个条形图,按组分组。因此,理论上,人们会按以下顺序看到数据:ADCEBF,其中 A 和 D 属于一起,C 和 E,依此类推:

示例图片 我设法使用条形图部分地实现了这一点,但 Excel 对所有组都显示从 A 到 F(也显示零值元素)。因此,我现在看到 18 个条形图,其中有 12 个(零)间隙:ABCDEFABC ... F。而且,使用我的方法,组之间没有间隙。

如何才能实现仅显示非零值的分组图表?如果有其他策略,我不介意使用。或者甚至是 VB 脚本。

到目前为止,我发现数据透视图与我尝试的最为接近。但我还没有设法在组之间获得间距。

答案1

因此从理论上讲,人们会按以下顺序看到数据:ADCEBF

首先生成“已排序”表格,然后仅绘制条形图。

TLDR :从此(生成的)表中绘制条形图

        | F | B | E | C | D | A
Group 1 |   |   |   |   | 2 | 1
Group 2 |   |   | 1 | 3 |   | 
Group 3 | 2 | 1 |   |   |   | 

一步步

  1. 清理表格。使所有‘0’变成“”。
  2. 获取非“0”条目的列号。
  3. 对步骤2中的数字进行排序,除以10,然后将行号作为整数添加。
  4. 排序生成的第 3 步数字得到 1,2,3,4..
  5. 根据已排序的“步骤 4”数字生成新表(第 1 部分,共 2 部分)
  6. 使用“步骤 5”数字中的索引匹配生成新表(第 2 部分,共 2 部分)
  7. 从新表中绘制条形图。

假设 B1 是“X”,H4 是 OP 表中的最终数据,这些是详细步骤:

输入 :

A6  ---->  cleaned
A11  ---->  column
A15  ---->  rank1
A19  ---->  rank2
A24  ---->  generate new table
A28  ---->  generate final table

第 1 步工作:

C6  ---->  =C1

并拖动到 H6,然后

C7  ---->  =IF(C2=0,"",C2)  

并拖动直到 H9。然后进行步骤 2:

C11  ---->  =IF(C7="","",COLUMN(C7))

并拖动直到 H13。然后进行步骤 3:

C15  ---->  =IFERROR(ROW(C11)+RANK(C11,$C11:$H11,1)/10,"")  

并拖动直到 H17。对于步骤 4:

C19  ---->  =IFERROR(RANK(C15,$C$15:$H$17,0),"")    

并拖动直到 H21,然后进行步骤 5:

C23  ---->  =B23+1

并拖动直到 H23,然后

C25  ---->  =IFERROR(MATCH(C$23,$C19:$H19,0),"")

并拖动直到 H27,最后:

B30  ---->  =B7

并拖动直到 F32,然后

C29  ---->  =INDEX($C6:$H6,1,MAX(C$25:C$27))

并拖动直到 H29,然后

C30  ---->  =IFERROR(INDEX($C7:$H7,1,C25),"")   

并拖动直到 H32。

使用 B29:H32 表生成条形图。希望对您有所帮助。(:

相关内容