ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 416|回复: 22

[求助] 如何高效整理学生信息?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-6-3 22:55 | 显示全部楼层 |阅读模式
本帖最后由 高空闪电 于 2024-6-4 06:27 编辑

开头.png
学生的学籍信息不能直接导出,但可以全选后粘贴出来,粘到excel中,会将身份证号的后4位改为0,所以暂且粘贴到了记事本里。
每次粘贴有265行,其中如上图所示,前26行都是垃圾信息。
尾.png
如上图,后面的247-265行,共19行,也是垃圾信息。
1.png
剩余的220行,含有20条学生信息,每条学生信息占11行。
附件仅上传了脱敏后的2次粘贴的信息,实际上是321次粘贴,6417条学生信息。
image.png
想整理成如上图学生信息列表的形式,应当如何操作?
提取学生信息问题2.zip (13.18 KB, 下载次数: 20)

TA的精华主题

TA的得分主题

发表于 2024-6-4 02:43 | 显示全部楼层
这个应该对得上你的要求了,把数据粘贴在填写表里面,要只粘贴数值,那个我设置为文本了。

新建 Microsoft Excel 工作表.rar

104.66 KB, 下载次数: 8

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-6-4 08:51 | 显示全部楼层
本帖最后由 boyuanoffice 于 2024-6-4 08:58 编辑

PixPin_2024-06-04_08-50-03.png
  1. =LET(a,A1:A530,b,SCAN(0,a,LAMBDA(x,y,IF(CODE(y)=32,0,IF(AND(ISNUMBER(--y),LEFT(OFFSET(y,1,),2)<>"页共"),1,x)))),WRAPROWS(FILTER(a,b),11))
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-6-4 08:55 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
高效的话建议用VBA,可以实现一键出结果!!!

TA的精华主题

TA的得分主题

发表于 2024-6-4 09:10 | 显示全部楼层
本帖最后由 咔咔乱坠 于 2024-6-4 09:12 编辑

算是比较常规的需求
  1. =DROP(REDUCE(0,A1:A530,LAMBDA(x,y,IF(LEFT(y)="G",VSTACK(x,TOROW(OFFSET(y,-2,,11))),x))),1)
复制代码
微信截图_20240604091007.png

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-6-4 10:19 | 显示全部楼层
本帖最后由 boyuanoffice 于 2024-6-4 10:22 编辑

第一次整的复杂了, 楼上的思路好, 照着写了一个, 不过要求每次有效数据必须是220行:
PixPin_2024-06-04_10-17-50.png
  1. =REDUCE(TOROW(A16:A26),A4:A530,LAMBDA(x,y,IF(y="是否残疾人",VSTACK(x,WRAPROWS(OFFSET(y,1,,220),11)),x)))
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-6-4 14:00 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
夜雨无声1949 发表于 2024-6-4 02:43
这个应该对得上你的要求了,把数据粘贴在填写表里面,要只粘贴数值,那个我设置为文本了。

image.jpg
思路不错。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-6-4 14:14 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 高空闪电 于 2024-6-5 15:41 编辑

image.jpg
受我上面提的中考录取问题36楼朋友的启发,我也试着做了一个。
  1. =WRAPROWS(TOCOL(CHOOSECOLS(WRAPROWS(A1:A85013,265,""),ROW(27:246))),11)
复制代码


用wraprows,将单列变为265列,
用choosecols,取其27至246列,即学生信息部分
用tocol将其转变为1列
用wraprows,将单列变为11列
对于规范的数据,感觉效果应当还可以。
但上次导出时会出现个别学生信息少身份证号或一个否的问题,感觉其他朋友的结果可能会更好修正些。

TA的精华主题

TA的得分主题

发表于 2024-6-4 15:05 | 显示全部楼层
  1. =LET(T,SCAN(0,A1:A530,LAMBDA(A,B,IF(B=" 全国教育行政部门",A+1,A))),
  2. _T,UNIQUE(T),
  3. REDUCE({"在校生信息列表","学生姓名","学籍号","身份证件号","性别","是否分班","民族","学校名称","学校标识码","学生状态","是否残疾人"},_T,LAMBDA(X,Y,VSTACK(X,DROP(WRAPROWS(DROP(DROP(FILTER(A1:A530,Y=T,""),15),-19),11),1)))))
复制代码
1717484703627.jpg

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-6-4 16:39 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-7-1 20:54 , Processed in 0.037100 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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