如何将有多个文字的单元格拆分成可关联查找的表格
例题描述和简单分析
有运费标准表 Excel 文件 standard.xlsx,如下所示:
另有运费表 Excel 文件 fee.xlsx,如下所示:
现在要根据运费标准计算实际运费,结果如下:
解法及简要说明
在集算器中编写脚本 fee.dfx,如下所示:
A |
|
1 |
=file("standard.xlsx").xlsimport@t() |
2 |
=A1.news(城市.split@c();~: 城市, 首重 1KG, 续重 1KG) |
3 |
=A2.select(城市 ==arg1) |
4 |
=A3.首重 1KG+A3. 续重 1KG*(ceil(arg2)-1) |
5 |
return if(A4,A4,"?") |
简要说明:
A1 读取运费标准表
A2 循环 A1 每行,把城市按逗号拆分成序列,按每个序列成员转变成一个新行,新行由 3 组成:第 1 列是拆分出的序列的当前成员 (~ 表示),第 2 列是首重 1KG,第 3 列是续重 1KG。
A3 从 A2 中选出符合城市为第一个参数 arg1 的运费信息
A4 计算实际运费
A5 若找不到返回?,否则返回实际运费
Excel中加载插件 ExcelRaq.xll 后。
在 D2 格输入公式:=esproc("fee",B2,C2),并以扩展方式填充后续运费列,即可算出结果。