[已解决] powerquery,重复项保留前X行怎么操作呢

  [复制链接]
查看176702 | 回复152 | 2020-9-25 01:47:23 | 显示全部楼层 |阅读模式
10285101709571.png 按照索引升序,jqtxl降序的排序结果,每一个分析项保留前200个。 10285101709572.zip (426.25 KB, 下载次数: 0)
回复

使用道具 举报

michael | 2020-9-25 01:52:23 | 显示全部楼层
我知道的蠢办法是可以引用针对每个分析项筛选出来保留前200行再追加到一个表里,但是分析项越多,要引用的分表就越多,太复杂了,excel本身到时候好判断操作,但是powerquery没有思路不知道怎么处理方便
回复

使用道具 举报

ivan34 | 2020-9-25 01:59:23 | 显示全部楼层
  1. Sub test()

  2. Dim rng As Range, slc As Range

  3. i = Range("c" & Rows.Count).End(xlUp).Row

  4. Set slc = Range("c2:c" & i)

  5. For Each rng In slc

  6. num = WorksheetFunction.CountIf(slc, rng)

  7. If num >= 200 Then

  8. arr = Sheets("源数据").Range("A2:C201")

  9. Else

  10. arr = Sheets("源数据").Range("A2:C" & num + 1)

  11. End If

  12. Sheets.Add after:=Sheets(Sheets.Count)

  13. [a1] = "分析": [b1] = "jqtxl": [c1] = "索引"

  14. ActiveSheet.[A2].Resize(UBound(arr), 3) = arr

  15. ActiveSheet.Name = ActiveSheet.Cells(2, 3)

  16. Sheets("源数据").Rows("2:" & num + 1).Delete

  17. Next

  18. End Sub
复制代码
回复

使用道具 举报

cat | 2020-9-25 02:06:23 | 显示全部楼层
+++++++附件参考,做好数据备份
10285101709573.zip (995.78 KB, 下载次数: 0)
回复

使用道具 举报

叶哥哥 | 2020-9-25 02:10:24 | 显示全部楼层
+++++++附件参考,做好数据备份


十分感谢,我试试看
回复

使用道具 举报

强劲力量 | 2020-9-25 02:14:24 | 显示全部楼层
  1. let

  2.   源 = Excel.CurrentWorkbook(){[Name="模板_销量"]}[Content],

  3.   排序 = Table.Sort(源,{"jqtxl", 1}),

  4.   分组提取 = Table.Combine(Table.Group(排序, {"分析"}, {"x", each Table.FirstN(_,200)})[x]),

  5.   重排 = Table.Sort(分组提取,{{"分析", 0}, {"jqtxl", 1}})

  6. in

  7.   重排
复制代码
回复

使用道具 举报

摩托车 | 2020-9-25 02:21:24 | 显示全部楼层
好厉害,简单实用,我要学习思考下
回复

使用道具 举报

风筝 | 2021-5-4 10:46:24 | 显示全部楼层
报告!别开枪,我就是路过来看看的。。。
回复

使用道具 举报

liulangren | 2021-9-19 11:20:15 来自手机 | 显示全部楼层
前排支持下
回复

使用道具 举报

Ougeng | 2021-9-25 23:07:28 | 显示全部楼层
秀起来~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则