如果不试试PQ,很难想象计算分类中占总类前30%的数量,有多容易

Excel学习世界 2023-04-11 22:09:25

查找出总类中前 30% 的人,并计算出在分类中的分布数,必然还有另一种更简单的解法。

案例:

查找出下图 1 中获客数在全公司排名前 30% 的所有人,并计算出每个部门分别占了几个人。

效果如下图 2 所示。

解决方案:

1. 选中数据表的任意单元格 --> 选择菜单栏的“数据”-->“从表格”

2. 在弹出的对话框中点击“确定”。

3. 选择菜单栏的“添加列”-->“索引列”

4. 在右侧的“查询设置”区域选中最后一个步骤 --> 右键单击 --> 在弹出的菜单中选择“插入步骤后”

5. 在公式栏中输入以下公式:

= Table.AddRankColumn(已添加索引,"排名",{"获客数",Order.Descending})

公式释义:

Table.AddRankColumn 相当于 Excel 中的 rank 函数;

已添加索引:上一个步骤的名称;

"排名":新列的列名;

{"获客数",Order.Descending}:按“获客数”列降序排序

6. 将“索引”列按升序排序。

7. 在查询区域选中“表1”--> 右键单击 --> 在弹出的菜单中选择第二个“复制”

8. 将复制出的查询名称改为“表2”,这样可以便于稍后在公式中引用。

9. 选中“查询”区域的“表2”--> 选择菜单栏的“转换”-->“对行进行计数”

10. 在“查询”区域选中“表1”--> 选择菜单栏的“添加列”-->“自定义列”

11. 在弹出的对话框中按以下方式设置 --> 点击“确定”:

新列名:输入“总人数”

在公式区域输入“表2”

12. 再次添加“自定义列”。

13. 在弹出的对话框的公式区域输入“[排名]/[总人数]”--> 点击“确定”

14. 点开“自定义”列的筛选按钮 --> 在弹出的菜单中点击“数字筛选器”旁边的箭头 --> 选择“小于或等于”

15. 在弹出的对话框的数值区域输入“0.3”--> 点击“确定”

16. 删除“总人数”和“自定义”列。

17. 再次在“查询”区域复制“表1”。

18. 将复制出的查询名修改为“表3”。

19. 选中“表3”查询 --> 选择菜单栏的“主页”-->“分组依据”

20. 在弹出的对话框中按以下方式设置 --> 点击“确定”:

在第一个下拉框中选择“部门”

操作:选择“对行进行计数”

21. 选中“表1”--> 选择菜单栏的“主页”-->“合并查询”

22. 在弹出的对话框中按以下方式设置 --> 点击“确定”:

选择“表1”中的“部门”列

在下拉框中选择“表3”--> 选择“部门”列

23. 点开“表3”旁边的扩展钮 --> 在弹出的菜单中仅勾选“计数”--> 取消勾选“使用原始列名作为前缀”--> 点击“确定”

24. 删除“索引”列。

25. 选择菜单栏的“主页”-->“关闭并上载”-->“关闭并上载至”

26. 在弹出的对话框中选择“仅创建连接”--> 点击“加载”

27. 在右侧的“工作簿查询”区域选中“表1”--> 右键单击 --> 在弹出的菜单中选择“加载到”

28. 在弹出的对话框中选择“表”--> 选择“现有工作表”及所需上传至的位置 --> 点击“加载”

绿色的表格就是想要的效果。

0 阅读:2

Excel学习世界

简介:Excel 学习交流