12.7 使用二维关联表

 

有儿童身高评分数据如下:A1、B1、C1 是年龄段,其下是身高 (cm),D 列是评分。

imagepng

有儿童信息数据如下:

imagepng

现在要根据年龄 Age 和身高 Height 到 Sheet2 中查出儿童的评分数据,在 D2 中写入如下代码:

A
1 =E(‘Sheet2!A$1:D$5’).rvs()
2 =(A1.fno()-1).(int(A1.fname(~).split(“-”)(1))).pseg(‘B2’)
3 =A1.segp(~.field(A2),‘C2’).Score

imagepng

把 D2 拖动复制到每一行:

imagepng

A1 将 Sheet2 的数据转成序表,并用 rvs 函数倒序,形成按身高升序排列
A2 取出 A1 的列名,去掉最后一个列名,每个列名用减号拆分后取第 1 个转成整数形成序列,即 [6,8,10]。在此序列中找出当前 Age 所在的分段号
A3 用身高 Height 在 A1 的第 A2 列值形成的序列区间中查找它所对应的行,取这行的 Score 返回


帮你早下班 - esProc 桌面版与 Excel 数据处理
12.6 使用关联表做区间关联
12.8 使用区间范围倒查关联表