Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2949|回复: 3

[分享] Excel 行式与自由式混合结构提取

[复制链接]
发表于 2021-4-8 15:16 | 显示全部楼层 |阅读模式
本帖最后由 mafia 于 2021-4-8 15:18 编辑

有的Excel文件中,数据呈现为主子表的形式,主表信息是自由格式,而子表信息是一行一条记录的行式结构,且行数不定。提取数据时,想要把主表信息附加在每条子表记录中。

举例订单明细列表order.xlsx中数据如下图所示:


编写esProc SPL脚本:

A
1
=file("E:/work/order.xlsx").xlsopen()
2
=A1.xlsimport@t(;1,5).select(Model)
3
=A2.derive(A1.xlscell("D2"):Name,A1.xlscell("F2"hone,A1.xlscell("D3"):Email,A1.xlscell("D4"):Address)

A1   打开order.xlsx文件为Excel对象
A2   读取A1第1个Sheet中第5行开始的行式数据,并过滤掉Model为空的行,选项@t表示首行是列标题
A3   在A2新增4列:Name列的值为D2单元格内容,Phone列的值为F2单元格内容,Email列的值为D3单元格内容,Address列的值为D4单元格内容

A3格的最终结果如下图所示:


发表于 2021-4-9 08:18 | 显示全部楼层
回复

使用道具 举报

发表于 2021-4-10 08:08 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2021-4-12 12:48 | 显示全部楼层
wangcm-gd 发表于 2021-4-9 08:18
学习一下esProc SPL脚本

需要有一点编程基础,这样快一点,虽然小白也能学。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-4 22:49 , Processed in 0.246116 second(s), 6 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表