【回答社区问题】二维表转一维表

懒人办公

创作者俱乐部成员

【原帖】

【题目内容】

如下图,将A2:D7区域数据转换为F2:H16形式,即二维表转换为一维表。

【操作效果】

【JSA代码】

按ALT+F11打开WPS宏编辑器,复制下方代码粘贴到编辑器中。

function 二维表转一维表()

{

n=Range('a'+Rows.Count).End(3).Row //获取A列最后一行数据行号

k=2 //转换结果从第二行开始写入,用变量k记录行号

for(i=3;i<=n;i++){ //从第三行姓名循环到最后一行

for(j=2;j<=4;j++){ //从第二列的学科循环到第四列

Cells.Item(k,'f').Value2=Cells.Item(i,'a').Value2 //姓名写入F列

Cells.Item(k,'g').Value2=Cells.Item(2,j).Value2 //学科写入G列

Cells.Item(k,'h').Value2=Cells.Item(i,j).Value2 //成绩写入H列

k=k+1 //行号加1,下次循环写入下一行

}

}

}

【往期内容】

1.对明细数据分类汇总,统计库存

2.两表按关键字相互链接,快速查找定位

3.批量创建和删除工作表

4.批量将工作表拆分为独立工作簿

5.批量将工作簿合并为工作表,免费实现会员功能

6.实时查询数据,高端的效果,往往只需要简单的代码

7.按照内容拆分工作表,免费实现会员功能

8.批量合并工作簿,免费实现终极会员功能

9.自动核对报表报送情况,表姐表妹的福音来了

10.以指定单元格内容批量命名表格文件

11.用工作表做数据库,将出库单保存为出库明细

12.用AI拆分工作表,一句话就能搞定

13.在表格中按名称批量插入对应图片

14.按分隔符拆分数据

15.合并同类项,按部门合并姓名,并用顿号隔开

【题目素材下载】

https://kdocs.cn/l/cj1aG11gzFTb

贵州省
浏览 1637
收藏
20
分享
20 +1
17
+1
全部评论 17
 
哎哟,不错哦~
· 浙江省
回复
 
讲解细致,通俗易懂
· 四川省
回复
 
不错哦学习了
· 福建省
回复
 
很实用又方便
· 广东省
回复
 
真的好实用又方便
· 云南省
回复
 
真的好实用
· 山东省
回复
 
讲解的很好
· 河北省
回复
 
非常好用哦
· 广东省
回复
 
非常好,讲解很详细!
· 贵州省
回复
 
非常实用呀!!!
· 浙江省
回复
 
非常实用呀!!
· 江苏省
回复
 
很好,已收藏
· 浙江省
回复
 
很好,先收藏,留着以后用
· 河南省
回复
 
不错,已收藏
· 陕西省
回复
 
丁功令

创作者俱乐部成员

不错,已收藏
· 四川省
回复
 
不如用Power Query,其实有更专业的术语 一维表→二维表:透视列 二维表→一维表:逆透视列
· 广东省
回复
懒人办公

创作者俱乐部成员

是的呢,方法很多,这里是为了方便大家练习JSA
· 贵州省
回复