ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[分享] 一个极乱表格的清理案例

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-9-15 07:44 来自手机 | 显示全部楼层 |阅读模式
本帖最后由 cnmlgb9998 于 2024-9-19 19:27 编辑
  1. let
  2.       源 = Excel.CurrentWorkbook(){[Name = "表1"]}[Content],
  3.       Lst = List.Accumulate(
  4.             Table.ColumnNames(源),
  5.             {},
  6.             (x, y) =>
  7.                   x
  8.                         & {
  9.                               [
  10.                                     a = Table.Group(
  11.                                           源,
  12.                                           y,
  13.                                           {
  14.                                                 "Data",
  15.                                                 each [
  16.                                                       a = Table.SelectColumns(
  17.                                                             _,
  18.                                                             List.Range(
  19.                                                                   Table.ColumnNames(源),
  20.                                                                   List.PositionOf(
  21.                                                                         Table.ColumnNames(源),
  22.                                                                         y
  23.                                                                   ),
  24.                                                                   4
  25.                                                             )
  26.                                                       ),
  27.                                                       b = Table.PromoteHeaders(
  28.                                                             Table.Skip(
  29.                                                                   Table.FirstN(
  30.                                                                         a,
  31.                                                                         (o) =>
  32.                                                                               Record.Field(o, y)
  33.                                                                                     <> null
  34.                                                                   )
  35.                                                             )
  36.                                                       )
  37.                                                 ][b]
  38.                                           },
  39.                                           0,
  40.                                           (m, n) =>
  41.                                                 Number.From(
  42.                                                       if n = null then
  43.                                                             0
  44.                                                       else
  45.                                                             Text.Contains(Text.From(n), "销售")
  46.                                                 )
  47.                                     ),
  48.                                     b = Table.RenameColumns(
  49.                                           Table.SelectRows(a, (o) => Record.Field(o, y) <> null),
  50.                                           {y, "K"}
  51.                                     )
  52.                               ][b]
  53.                         }
  54.       ),
  55.       Tab1 = Table.Distinct(Table.Combine(Lst), {"K"})[Data],
  56.       Tab2 = Table.Combine(Tab1),
  57.       Group = Table.Group(
  58.             Tab2,
  59.             {"品名"},
  60.             {{"销售数量", each List.Sum([数量]), type number}, {"销售金额", each List.Sum([金额]), type number}}
  61.       )
  62. in
  63.       Group
复制代码

在VBA区看到的一道题。我用PQ解决了。请大家帮提点建议。

我感觉 ,这题是极有代表性的。很有成就感。感觉自己学了8个月的PQ,完全自学。

是不是已经很强了????????


捕获.JPG

9-14-2.rar

19.79 KB, 下载次数: 5

TA的精华主题

TA的得分主题

发表于 2024-9-18 12:53 | 显示全部楼层
被BAN了~~~
微信截图_20240918125309.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-18 13:27 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-18 13:35 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 cnmlgb9998 于 2024-9-18 13:42 编辑

奇怪了。为什么突然就被 封了????

是不是哪里搞错了?

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-19 19:07 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-9-19 21:12 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-9-24 14:30 | 显示全部楼层
PQ参考解法(差不多)
微信截图_20240924142634.png

无序范围数据清洗.zip

26.54 KB, 下载次数: 2

评分

1

查看全部评分

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

本版积分规则

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

GMT+8, 2024-12-25 15:58 , Processed in 0.045759 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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