ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

power q 这种数据怎么处理

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-11-13 14:35 | 显示全部楼层
libo5563 发表于 2019-11-13 14:22
哈哈,大神也有走眼的时候,扣3分

啊,我没看出来

TA的精华主题

TA的得分主题

发表于 2019-11-14 17:37 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 飞天篮球猪 于 2019-11-14 18:15 编辑

试一下这个,效率还可以,15万行加载挺快的。使用的时候源数据小表格之间必须要有空行。
  1. = Table.Combine(
  2.                             Table.Group( 源,
  3.                                          "产品编号",
  4.                                          {"t",each let a = Table.ToColumns(_),
  5.                                                        b = Table.RowCount(_)-1,
  6.                                                        c = {null}&List.Repeat({a{1}{0}},b),
  7.                                                        d = {a{0},c,a{1}}
  8.                                                     in Table.FromColumns(d,{"产品编号"," ","名称"})},
  9.                                          0,
  10.                                          (x,y)=>Byte.From(y=null))
  11.                             [t] )
复制代码



评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-11-16 14:19 | 显示全部楼层
飞天篮球猪 发表于 2019-11-14 17:37
试一下这个,效率还可以,15万行加载挺快的。使用的时候源数据小表格之间必须要有空行。

let
    源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
    分组的行 = Table.Combine(Table.Group(源,
                                        "产品编号",
                                         {"t", each Table.ReorderColumns(Table.AddColumn(_," ",(n)=>if n[产品编号]=null then null else n[名称]),{"产品编号"," ","名称"})},
                                         0,
                                         (x,y)=>Number.From(y=null))
                              [t])
in
    分组的行


套用老师的group 第5参数,  有个疑惑,为什么在第2参数 "产品编号"    外加上一对{} 就分不出组了?

TA的精华主题

TA的得分主题

发表于 2019-11-17 09:26 | 显示全部楼层
libo5563 发表于 2019-11-16 14:19
let
    源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
    分组的行 = Table.Combine(Table. ...

2参加上{},最后的(x,y)=> 这个表达式里的xy就变成了由花括号里指定的值为字段的record。
这样的话,最后要写成:
Number.From(y=[产品编号=null])  y是record,等于一个record
或者
Number.From(y[产品编号]=null)  把y这个record中的字段值深化出来后,等于某个值

TA的精华主题

TA的得分主题

发表于 2019-11-17 11:02 | 显示全部楼层
飞天篮球猪 发表于 2019-11-17 09:26
2参加上{},最后的(x,y)=> 这个表达式里的xy就变成了由花括号里指定的值为字段的record。
这样的话,最后 ...

多谢指点,我得想想,多字段分组时,这几个参数如何配合使用

TA的精华主题

TA的得分主题

发表于 2019-11-21 16:50 | 显示全部楼层
飞天篮球猪 发表于 2019-11-17 09:26
2参加上{},最后的(x,y)=> 这个表达式里的xy就变成了由花括号里指定的值为字段的record。
这样的话,最后 ...

接着向老师请教,为什么用 group第5参数 分组时,如果分组 判断的数据不在列开头,分组后的第一组就会数据错一位,而其他的组就正常,是否有办法通过调整别的参数或改写下公式 可以直接得到正确结果?    我是用笨办法,在列的开头强加了一个数据进去,   替换那步可以 不管,是原始数据里有个不可见的怪字符
1.png

qqqq.rar

50.12 KB, 下载次数: 1

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

本版积分规则

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

GMT+8, 2024-11-15 01:17 , Processed in 0.037684 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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