用分类排序后的数据填充指定区域

例题描述和简单分析

有 Excel 文件 book1.xlsx,如下所示:


A

B

C

1

班级

姓名

分数

2

一班

张三

100

3

二班

李四

40

4

一班

王五

50

5

二班

秦六

50

6

三班

赵彤

10

现需要将每个班级的人员姓名按分数从低到高列在右侧区域,结果如下:


A

B

C

D

E

F

1

班级

姓名

分数

一班分数从低到高

二班分数从低到高

三班分数从低到高

2

一班

张三

100

王五

李四

赵彤

3

二班

李四

40

张三

秦六


4

一班

王五

50




5

二班

秦六

50




6

三班

赵彤

10




解法及简要说明

Excel中加载插件 ExcelRaq.xll 以及宏文件 esproc_template.xla 后。

先在第一行插入空行,再在 D1 格输入公式:=esproc("=?.select(~(1)==""一班"").sort(~(3)).new(~(2): 一班分数从低到高 )",A3:C7),按下组合键 ctrl+enter,即可计算一班分数从低到高的人员姓名,依次在 E1、F1 计算二班、三班的人员姓名,最后删除第一行即可。

问答搜集

https://tieba.baidu.com/p/7209061061?qq-pf-to=pcqq.c2c