例题描述和简单分析
有 Excel 文件 book1.xlsx,如下所示:

现在要按左侧的分数标准填充右侧的分数列,结果如下:

解法及简要说明
在集算器中编写脚本 score.dfx,如下所示:
A
1 =file("score.xlsx").xlsopen()
2 =A1.xlscell("A1":"D5").import@t()
3 =A2.pivot@r(#1:score;age,num)
4 =A3.new(age.split("-").(int(left(~,2))):age,num,score)
5 =A4.select(~.age(1)<=arg1 && ~.age(2)>=arg1 && num<=arg2)(1).score
简要说明:
A1、A2 读取 Excel 文件的 A1:D5 区域,@t 表示第一行为表头
A3 交叉表,列转行
A4 将年龄字段拆分为年龄区间的两个端点值
A5 从 A4 中找到符合年龄、成绩的分数
Excel中加载插件 ExcelRaq.xll 后。
在 I2 格输入公式:=esproc("score",G2,H2),并以扩展方式填充后续分数列,即可算出结果。