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

如何在Power Query中统计fruit工作表符合条件的记录并写入result工作表

需求说明

我有两个Excel工作表:fruit 和 result。其中result工作表包含fruit工作表里的唯一水果值,需要统计fruit中同时满足status = completed且ut/un = ut的各水果记录数量,并将结果输出到result工作表。

我尝试了以下Power Query代码,但未得到正确结果:

let
Source = Excel.CurrentWorkbook(){[Name="result"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"fruit", type text}}),
#"Added Custom1" = Table.AddColumn(#"Changed Type", "completed", each "completed"),
#"Added Custom" = Table.AddColumn(#"Added Custom1", "ut-completed", each List.Count( Table.SelectRows(#"fruit1", (ft1) => ft1[fruits] = [fruit] and ft1[status] = [completed] ))) in  #"Added Custom"
修正方案

你的代码存在几个问题:

  1. 未正确引入fruit工作表的数据,代码中使用的#"fruit1"未定义
  2. 缺少ut/un = ut的条件判断
  3. 额外添加的completed列属于冗余操作

以下是修正后的Power Query代码:

let
    // 加载result工作表数据
    Source_Result = Excel.CurrentWorkbook(){[Name="result"]}[Content],
    // 加载fruit工作表数据并设置列类型
    Source_Fruit = Excel.CurrentWorkbook(){[Name="fruit"]}[Content],
    #"Changed Type Fruit" = Table.TransformColumnTypes(Source_Fruit, {
        {"fruits", type text},
        {"status", type text},
        {"ut/un", type text}
    }),
    // 过滤fruit中符合条件的记录:status=completed且ut/un=ut
    #"Filtered Rows" = Table.SelectRows(#"Changed Type Fruit", each ([status] = "completed" and [ut/un] = "ut")),
    // 按水果分组统计数量
    #"Grouped Rows" = Table.Group(#"Filtered Rows", {"fruits"}, {{"ut-completed", each Table.RowCount(_), Int64.Type}}),
    // 将统计结果与result表合并,匹配对应水果
    #"Merged Queries" = Table.NestedJoin(Source_Result, {"fruit"}, #"Grouped Rows", {"fruits"}, "Grouped Rows", JoinKind.LeftOuter),
    // 提取统计数量,无匹配的显示0
    #"Added Custom" = Table.AddColumn(#"Merged Queries", "ut-completed", each if [Grouped Rows] <> null then [Grouped Rows][ut-completed]{0} else 0),
    // 删除临时列
    #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Grouped Rows"})
in
    #"Removed Columns"

代码说明

  1. 同时加载result和fruit两个工作表的数据
  2. 先对fruit数据进行条件过滤,只保留符合要求的记录
  3. 按水果名称分组,统计每组的行数
  4. 将统计结果与result表进行左连接,确保所有唯一水果都能显示
  5. 处理无匹配的情况,默认填充0,最后清理临时列

内容的提问来源于stack exchange,提问作者Srikanth

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 13:13:23