2017-01-07 35 views
1

因此,我有一个带有游戏统计数据的电子表格,并且我希望显示一般和每场比赛赢得百分比的饼图。使用动态值计算数据集中每个唯一行的总和

我已经建立了我主数据表像这样

Date  | Game | Player 1 | Player 2 
---------|--------|----------|---------- 
01.01.17 | Game 1 |  1 |  0 
02.01.17 | Game 2 |  0 |  1 
03.01.17 | Game 2 |  0.5 |  0.5 

现在计算胜每个玩家的总和容易。但是每场比赛的产生并不那么简单。 现在我有在计算用表,看起来像这样发生的第二个表:

​​

我使用的游戏列表中UNIQUE和每个小区的DSUM。 这有两个问题。

  1. 我需要每次添加一个新的游戏时间复制DSUM声明(该表仅两名球员,所以我并不需要覆盖的情况下添加新的播放器)
  2. 当是两个不同的游戏共享名称的一部分(如“10期”和“第10阶段Brettspiel”的第二场比赛的胜利也算到第一场比赛

我的声明看起来像这样

的胜
DSUM(Data!B1:D100, E1, {"Game";D2}) 

其中Data包含第一个表格,Game是具有独特游戏的列和E1包含玩家名称。

第一个问题其实不是那么严重,但我想解决第二个问题。我对Google表格不是很有经验,因此我想在纯粹的表格命令中解决这个问题,而不是使用自定义脚本。

任何帮助,将不胜感激。

+0

我不知道我在看第二个问题的权利。你是否希望将“第10阶段”和“第10阶段Brettspiel”统计在一起? – FTP

+0

我不希望他们被统计在一起。 –

回答

2

代替uniquedsum,我建议使用query它不能同时做两件事。它消除了复制粘贴任何公式的需要,因为一个query执行所有计算。例如,如果数据是在一个:d,查询可以是

=query(B:D, "select B, sum(C), sum(D) where B <> '' group by B order by B asc", 1) 

这意味着:

  • 加起来C和d中的内容在B中的每个不同的条目
  • 忽略其中B是空的
  • 由乙字母
  • 范围B的结果排序的行:d 1个具有标题行(最后一个参数指定的,所以它不会被误认为数据)

如果结果其他头是首选,使用“标签”,如下所示:

=query(B:D, "select B, sum(C), sum(D) where B <> '' group by B order by B asc label sum(C) 'Player 1', sum(D) 'Player 2'", 1) 
+0

完美的作品,谢谢。 此外,TIL表具有SQL类似的语言。 –

相关问题