两列中的堆积条形图,其中一列包含重复项

时间:2017-09-09 05:37:07

标签: google-sheets

我有两列,A和B,A包含一些副本。我可以在Google表格中创建一个堆积条形图,这样重复的堆栈就是其他堆叠的新堆栈吗?

数据可能是:

Date       | Duration
-----------+---------
01/01/2017 |    1 min
01/02/2017 |    2 min
01/02/2017 |    1 min
01/03/2017 |    1 min

然后我会想要三个条形图,每个条形图分别为1个,3个和1分钟,第二个条形图分别为两个条形图。

编辑:似乎我可以通过将数据编辑为:

来实现
Date       | Duration |
-----------+----------+------
01/01/2017 |    1 min |
01/02/2017 |    2 min | 2 min
01/03/2017 |    1 min |

但是我必须为每个副本添加一个新列。可能有很多(虽然在我的情况下不是那么多)。有了这个,我可以制作一张A1:C4数据的图表,Google表格将把第一列作为关键,第二列作为堆叠列。同样,它可以工作,但我宁愿在不修改数据的情况下为原始问题找到解决方案。

我希望在这里看到一个例子:Stacked bar chart

3 个答案:

答案 0 :(得分:1)

基于问题编辑和澄清,

我认为没有任何其他方法可以在不重新排序数据的情况下制作堆积柱形图。使用

提取数字后
   =ARRAYFORMULA(--REGEXEXTRACT(B2:B7,"\d+"))

A900:

=ARRAYFORMULA({{"Date","Dopple"&char(10)&"Ganger"& transpose(ROW(indirect("A1:A"&1+MAXA(COUNTIF(A2:A15,A2:A15)))))};{UNIQUE(A2:A15),(SPLIT(TRANSPOSE(QUERY(TRANSPOSE(IF(UNIQUE(A2:A15)=TRANSPOSE(A2:A15), transpose(B2:B15)&"™","")),,500)),"™"))}})

A2:A15将是约会对象。而B2:B15将是持续时间

选择A900:Z1000并创建堆积柱形图。请注意,如果没有足够数量的重复项,则不会堆叠此类项目。

答案 1 :(得分:-1)

是。您可以。选择您的数据>插入图表>堆积条形图。只要数据格式正确,您就可以拥有所需的内容。

格式要求:

  • A栏和B栏应为数字。如果您的数据正确对齐,那么它们都是数字。

如果没有,

  • 将A列格式化为日期。它们应该自动对齐。

  • 从B列中提取数字。

       =ARRAYFORMULA(--REGEXEXTRACT(B1:B4,"\d+"))
    

这将删除所有" min"和其他不必要的和无用的话,并给一个数字。复制此内容并paste values only覆盖原始数据。

现在为这些数据创建一个图表。

编辑:

如果上述方法无效,则需要重新排序数据。试试这个:

 =QUERY(A1:B5,"Select A,Sum(B) group by A")

答案 2 :(得分:-1)

我最终修改了@ anonymous'回答一下。

我无法使ARRAYFORMULA两个{{...}}工作,所以我做了以下工作:

  • Sheet2我已加入A1

=ARRAYFORMULA({"Date", "Duration" & TRANSPOSE(ROW(INDIRECT("Sheet1!A1:A" & MAXA(COUNTIF(Sheet1!A2:A100, Sheet1!A2:A100)))))})

  • 这给出了表格的标题。具有最多重复项的条目决定了将有多少标题。

  • A2我写了@ anonymous'的另一半。原始公式:

=ARRAYFORMULA({UNIQUE(Sheet1!A2:A999), SPLIT(TRANSPOSE(QUERY(TRANSPOSE(IF(UNIQUE(Sheet1!A2:A999)=TRANSPOSE(Sheet1!A2:A999), TRANSPOSE(Sheet1!C2:C999), "")),"",1000)), " ")})

  • 然后输入所有数据,每个数据都在自己的单元格中。 @ anonymous'的问题公式是,它给了很多空格,而每个空格又需要一个单独的单元格。如果查询获得1000个空白单元格,则需要1000列,而工作表没有,因此会出错。

  • 上述工作非常精彩,我现在可以在Sheet1输入Sheet2的堆积柱形图,然后从Sheet1中提取数据。