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

例题描述和简单分析

有 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