我正在尝试使用 Google 表格解决这个问题。
我尝试过的:
在Google Sheets中,我可以使用内置的数据透视表功能来制作数据透视表。然而,与 Excel(2016 年之前)类似,GSheets 缺乏使用文本值而不是数字创建数据透视表的能力。 (正如上面链接中所说。)
在 Excel 中,正如上面的链接中所述,您可以使用 MS Power Query 插件,但我在 GSheets 中没有该插件。
在 Excel 中,我还可以使用 四个单独的 VBA 脚本 执行一些复杂的操作来实现相同的结果。然而对我来说,将其转换为 Google Scripts API 具有挑战性。
我还可以使用 GSheets 的 QUERY 函数来创建数据透视表。然而,我似乎再次无法在数据透视表中获取文本值。例如一个查询: =QUERY(表,"SELECT C, count(B) GROUP BY C",1) 否则会创建一个数据透视表,我have放置count(B)或max(B)或min(B)或avg(B),这意味着B必须只有数字。如果我只是将其替换为 B,则不起作用。
有什么想法吗?最简单的(希望是非脚本的)方法是什么?
这个答案与其他答案相同,但有解释。
给定一个如下所示的“数据”表:
A | B | C | |
---|---|---|---|
1 | 姓名 | 部门 | 其他 |
2 | 戴夫 | 销售 | 啊啊 |
3 | 艾伦 | 销售 | bb |
4 | 弗兰克 | 营销 | ccc |
您可以使用 QUERY 函数创建类似于数据透视表的内容。
=QUERY('Data'!A1:C4, "SELECT A, MAX(C) GROUP BY A PIVOT B", 1)
第一个参数是查询/数据透视表的数据。第三个参数表示有多少行是列标题。在 SELECT 语句中:
在另一张工作表的单元格 A1 中,输入上面的“查询”。该查询的结果将是这样的表:
A | B | C | |
---|---|---|---|
1 | 姓名 | 销售 | 营销 |
2 | 戴夫 | 啊啊 | |
3 | 艾伦 | bb | |
4 | 弗兰克 | ccc |
..这意味着 B 必须只有数字...
这是一个假设。而且不是一个很好的。
因为您自己没有提供示例问题。 对于链接的问题,很简单:
=QUERY(A1:C5,"Select A, max(C) group by A pivot B", 1)
单击左侧的 ☑ 将其标记为已回答。