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

如何在Excel中生成作业编号与周数的全组合表格?

在Power Query中实现作业编号对应多周数的表格方案

核心思路

你要的是作业与周数的全组合(笛卡尔积),再结合原表的对应关系调整,而不是基于现有匹配列的全外连接——之前的操作错在没做交叉,而是用原表自身做匹配合并,自然会出现分开的Null值。

具体操作步骤

  • 第一步:生成独立周数表
    新建一个仅包含所有目标周数的表(比如week1、week2、week3)。可以直接用Power Query的「输入数据」手动输入,或者从现有表格的week#列提取不重复值生成。

  • 第二步:整理作业表
    拿你现有的作业表,只保留Job#列并移除重复项,得到一份只有唯一作业编号的列表(比如Job1、Job2、Job3、Job4)。

  • 第三步:交叉合并生成全组合
    选中整理后的作业表,点击「合并查询」→「合并为新查询」:

    • 在合并窗口,选择刚才的周数表,不要选择任何匹配列(直接点击确定)
    • 这一步会生成笛卡尔积表:每个作业编号都会对应所有周数,比如Job1会分别对应week1、week2、week3,Job4也会对应这三个周数。
  • 第四步:匹配原表的对应关系(可选)
    如果需要标记哪些是原表中实际存在的对应关系(比如原表只有Job1-week1、Job2-week2、Job3-week3),可以:

    1. 把原表导入Power Query,和交叉生成的全组合表做合并,匹配条件选Job#和week#同时相等的内连接
    2. 展开合并后的列,添加自定义列判断:如果展开的列不为空,标记为「已关联」,否则为「无关联」;或者直接保留全组合,按需筛选。
  • 第五步:处理无对应周数的作业(可选)
    如果你希望Job4显示为无对应周数(而不是对应所有周数),可以添加自定义列,判断Job#是否在原表有对应周数,没有的话把week#列设为null,再移除重复项即可。

为什么之前的全外连接没用?

全外连接是基于匹配列把两张表的记录合并,你用原表自身合并时,匹配列是Job#或week#,只会把原表中已有对应关系的记录拼起来,自然会出现分开的Null值,而不是生成所有可能的作业-周数组合。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 23:42:37