如何获得分组数据的平均值和标准偏差?

时间:2019-07-03 02:40:14

标签: google-sheets google-sheets-formula google-sheets-query google-query-language stdev

我正在尝试使用Google表格处理数据库。

我可以使用importJson脚本从以下位置访问数据库:https://github.com/bradjasper/ImportJSON

使用查询:=importJson("https://mywebsite.com/json-data");

它可以像这样的模型一样很好地填充我的Google表格:

+-----+--------+---------+
| Age | Weight | Country |
+-----+--------+---------+
| 10  | 120    | US      |
+-----+--------+---------+
| 10  | 140    | US      |
+-----+--------+---------+
| 10  | 160    | US      |
+-----+--------+---------+
| 11  | 180    | CA      |
+-----+--------+---------+
| 12  | 190    | GBR     |
+-----+--------+---------+
| 12  | 200    | GBR     |
+-----+--------+---------+

我希望能够显示按年龄分组的数据,包括该年龄段的平均体重,该年龄段体重的标准差,就像这样...

+-----+----------------+----------+
| Age | Average weight | Std. Dev |
+-----+----------------+----------+
| 10  | 140            | 20       |
+-----+----------------+----------+
| 11  | 180            | 0        |
+-----+----------------+----------+
| 12  | 195            | 5        |
+-----+----------------+----------+

我尝试过在工作表中创建数据透视表,但是我不知道如何获取列中每个年龄段的所有值的平均值或标准差。

当我尝试添加平均权重值的列时,出现DIV/0错误。

这在表格中可行吗?

1 个答案:

答案 0 :(得分:0)

0

粘贴在 E2 单元格中:

=QUERY(A2:B, 
 "select A,avg(B) 
  where A is not null 
  group by A 
  label avg(B)''", 0)

粘贴到 G2 单元格中并向下拖动:

=IFERROR(STDEV(FILTER(B:B, A:A=E2)), 0)

粘贴到 H2 单元格中并向下拖动:

=IFERROR(STDEVP(FILTER(B:B, A:A=E2)), 0)