You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power Query(M语言):按组查找taknie列首个"TAK"的位置

Power Query分组查找每组内首个"TAK"的位置修正方案

你的代码问题出在分组时没有使用当前分组的子表,而是一直用整个源表Source去查找,所以所有分组都返回了全表中第一个"TAK"的位置(也就是2),完全没用到分组后的子数据。

修正后的完整代码

Source = Excel.CurrentWorkbook(){[Name="Tabela1"]}[Content],
    Grupa = Table.Group(Source, "Grupa", {"wynik", each 
        let
            taknieList = [taknie],
            firstIndex = List.PositionOf(taknieList, "TAK", Occurrence.First)
        in
            if firstIndex = -1 then 0 else firstIndex + 1
    })
in
    Grupa

关键修正点

  • 分组逻辑里的each代表当前分组的子表,用[taknie]可以直接提取子表的taknie列转为列表
  • 使用List.PositionOf查找列表中首个"TAK"的索引(Power Query索引从0开始),找不到匹配项时返回-1
  • 通过判断索引值,将索引+1得到从1开始的位置;如果是-1则返回0,符合无TAK时的要求

运行结果

执行后会得到你期望的结果:

Grupawynik
g12
g24
g31
g42
g50

内容的提问来源于stack exchange,提问作者Anna Hołdyńska

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 04:31:04