某Excel有三列,first name, last name, birthday,部分数据如下:
A B C
1 Lukas M. 14.1.2000
2 Lukas B. 14.2.2000
3 Lukas A. 15.1.2000
4 Lukas C. 30.1.2000
5 Max A. 15.1.2000
6 Max B. 15.2.2000
7 Max C. 16.1.2000
8 Max D. 31.1.2000
计算目标:以first name分组,找到每组里年龄最小的行,输出第1、3列。结果应当如下:
A B
1 Lukas 14.2.2000
2 Max 15.2.2000
Excel函数LOOKUP适合查找单列,但这里要求返回其他列。用UNIQUE配合MAXIFS也能实现,但必须是最新版的Excel。
实现步骤:
1. 运行集算器(可以到润乾官网下载,用职场版,首次运行时会提示加载授权,下载个免费的就够了)
2. 编写脚本并执行
A
1 =file("data.xlsx").xlsimport()
2 =A1.group(_1;~.top@1(-1,_3))
3 =file("result.xlsx").xlsexport()
脚本函数group用于对某列分组,top函数用于取某列最大或最小的N个值,-1表示最大的1个值,_3表示第3列。
A B C
1 Lukas M. 14.1.2000
2 Lukas B. 14.2.2000
3 Lukas A. 15.1.2000
4 Lukas C. 30.1.2000
5 Max A. 15.1.2000
6 Max B. 15.2.2000
7 Max C. 16.1.2000
8 Max D. 31.1.2000
计算目标:以first name分组,找到每组里年龄最小的行,输出第1、3列。结果应当如下:
A B
1 Lukas 14.2.2000
2 Max 15.2.2000
Excel函数LOOKUP适合查找单列,但这里要求返回其他列。用UNIQUE配合MAXIFS也能实现,但必须是最新版的Excel。
实现步骤:
1. 运行集算器(可以到润乾官网下载,用职场版,首次运行时会提示加载授权,下载个免费的就够了)
2. 编写脚本并执行
A
1 =file("data.xlsx").xlsimport()
2 =A1.group(_1;~.top@1(-1,_3))
3 =file("result.xlsx").xlsexport()
脚本函数group用于对某列分组,top函数用于取某列最大或最小的N个值,-1表示最大的1个值,_3表示第3列。