ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

如何对原数据进行规范整理

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-3-22 14:41 | 显示全部楼层 |阅读模式
张一 语文 80 数学 90 英语100
张二 语文 70 数学 英语 90
张三 语文 60 数学英语
张四 语文 数学80 英语90
张五 语文数学 英语 100
如我有原始数据是这样的,某学生如不参加考试,相应的分数栏就不产生值,下一科目又会填入,现在想在第2行中的数学后面加个0,其它单元格向右移动,第3行在数学和英语后加0,第4行在语文后加0,......想变成下面的效果
张一 语文 80 数学 90 英语 100
张二 语文 70 数学 0 英语 90
张三 语文 60 数学 0 英语 0
张四 语文 0 数学 80 英语 90
张五语文 0 数学 0 英语 100
我应怎样做呢,先多谢各位



TA的精华主题

TA的得分主题

发表于 2021-3-22 22:53 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
图片.png

TA的精华主题

TA的得分主题

发表于 2021-3-23 08:59 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
请参考
image.png

对原数据进行规范整理.zip

23.17 KB, 下载次数: 9

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-3-23 09:26 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
谢谢各位大佬

TA的精华主题

TA的得分主题

发表于 2021-3-23 12:26 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
PowerQuery参考解法
QQ截图20210323122607.png

book1.zip

15.71 KB, 下载次数: 7

TA的精华主题

TA的得分主题

发表于 2021-3-23 13:50 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 李大维 于 2021-3-23 13:51 编辑

image.png
image.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-3-23 16:03 | 显示全部楼层

谢谢,如果分数栏也是文本型,如语文 六十 数学英语七十五……。怎样搞,

TA的精华主题

TA的得分主题

发表于 2021-3-23 22:12 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 shaowu459 于 2021-3-23 22:14 编辑
HOTYEAH 发表于 2021-3-23 16:03
谢谢,如果分数栏也是文本型,如语文 六十 数学英语七十五……。怎样搞,

供参考。。。。。。
图片.png

超人转换.rar

15.83 KB, 下载次数: 4

TA的精华主题

TA的得分主题

发表于 2021-3-28 13:43 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
let
    AAA = Excel.CurrentWorkbook(){[Name="表3"]}[Content],
    BBB = Table.ToRows(AAA),
    CCC = List.Transform(BBB, (x)=>  List.FirstN(  List.Combine( List.Generate(()=>0, each _<List.Count(x),  each _+1, each if  List.ContainsAll({"语文","数学","英语"},{x{_},x{_+1}})  then {x{_}}&{null}  else  if  x{_}  is  null   then   {null}  else  {x{_}} )),7)),
    DDD = Table.FromRows(CCC)
in
    DDD


let
     AAA= Excel.CurrentWorkbook(){[Name="表3"]}[Content],
     BBB= Table.ToRows(AAA),
    CCC = List.Transform( BBB,(z)=> List.FirstN( List.Accumulate({0..List.Count(z)-1},{},( x ,y )=> if  List.ContainsAll({"语文","数学","英语"},{z{y},z{y+1}})  then  x&{z{y}}&{null}   else   x&{z{y}} ),7)),
    DDD = Table.FromRows(CCC)
in
    DDD

image.png
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-15 20:10 , Processed in 0.044426 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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