Google sheets 从具有动态值的数据集计算每个唯一行的总和
所以我有一个游戏统计数据的电子表格,我想显示一个饼图,上面有一般和每场比赛的胜利百分比 我已经像这样创建了我的主数据表Google sheets 从具有动态值的数据集计算每个唯一行的总和,google-sheets,Google Sheets,所以我有一个游戏统计数据的电子表格,我想显示一个饼图,上面有一般和每场比赛的胜利百分比 我已经像这样创建了我的主数据表 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
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
现在计算每个玩家的胜利总数很容易。但每场比赛都能产生这样的结果并不是那么简单。
现在我有了第二个表,其中计算正在进行,一个表如下所示:
Game | Player 1 | Player 2
-------|----------|----------
Game 1 | 1 | 0
Game 2 | 0.5 | 1.5
我对游戏列表使用了一个UNIQUE
,对每个单元格使用了一个DSUM
。
这有两个问题
DSUM
语句(该表仅适用于两名玩家,因此我不需要说明添加新玩家时的情况)DSUM(Data!B1:D100, E1, {"Game";D2})
其中Data
包含第一个表,Game
是包含唯一游戏的列,E1
包含玩家名称
第一个问题其实没有那么严重,但我想解决第二个问题。我对Google Sheets没有太多经验,这就是为什么我想用纯Sheets命令而不是自定义脚本来解决这个问题
任何帮助都将不胜感激。我建议不要使用
unique
和dsum
,而是使用它可以同时完成这两件事。它无需复制粘贴任何公式,因为单个查询将执行所有计算。例如,如果您的数据位于a:D中,则查询可能是
=query(B:D, "select B, sum(C), sum(D) where B <> '' group by B order by B asc", 1)
=查询(B:D,“选择B,求和(C),求和(D),其中B''按B分组,按B asc排序”,1)
这意味着:
- 将B中每个不同条目的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)
=query(B:D,“选择B,求和(C),求和(D),其中B''按B分组按B排序asc标签求和(C)'Player 1',求和(D)'Player 2',1)
我不确定我读的第二个问题是否正确。是否要将“第10阶段”和“第10阶段Brettspiel”计算在一起?我不希望将它们计算在一起。非常有效,谢谢。此外,TIL Sheets具有类似SQL的语言。