现有Excel文件book1.xlsx,部分数据如下: 日期 | 名称 | 单位 | 件数 | 数量 | 单价 | 金额 | 2020/12/3 | 奇果土橙 | 斤 | 50 | 1267 | 50 | 3420 | 2020/12/3 | 金枕榴莲 | 件 | 15 | 15 | 600 | 9000 | … | … | … | … | … | … | … | 2020/12/4 | 奇果土橙 | 斤 | 50 | 1320 | 2.7 | 3564 | 2020/12/4 | 车厘子 | 件 | 15 | 15 | 570 | 8550 | … | … | … | … | … | … | … | 2020/12/4 | 耙耙柑 | 斤 | 15 | 437 | 6 | 2622 | 2020/12/4 | 水仙芒 | 斤 | 5 | 86 | 11 | 946 | 2020/12/4 | 蜜桔 | 斤 | 20 | 754 | 3 | 2262 | 2020/12/5 | 耙耙柑 | 斤 | 15 | 500 | 5.5 | 2750 | 2020/12/5 | 金枕榴莲 | 件 | 5 | 5 | 1020 | 5100 | 2020/12/5 | 口口蜜 | 件 | 30 | 30 | 100 | 3000 |
日期有序,但是每次来货的品种不一定相同,没一定的顺序。并且即使相同的品种,在不同的时间到货价格不一样。 需要显示每个货品最后一次入库到今天为止的天数和最后一次单价,结果如下: 序号 | 名称 | 至今天来货天数 | 最后一次价格 | 1 | 三红柚 | 25 | 2.2 | 2 | 人参果 | 25 | 58 | 3 | 凤梨 | 25 | 75 | 4 | 口口蜜 | 23 | 100 | 5 | 国产蕉 | 24 | 31 | … | … | … | … |
借助集算器可以很方便地完成这件事。 1. 在集算器中编写脚本p1.dfx: | A | 1 | =file("book1.xlsx").xlsimport@t() | 2 | =A1.group(名称).(~.m(-1)) | 3 | =A2.new(#: 序号, 名称,interval@d( 日期,now()): 至今天来货天数, 单价: 最后一次价格 ) |
A1 读取 book1.xlsx 数据,选项@t表示第一行数据为表头 。 A2 因为日期有序,取每个分组的最后一条记录 A3 计算结果 2. 执行脚本,A3 中的数据是需要的结果。
|