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

表格行列转置最优函数是什么?合规项目透视表生成方案咨询

实现法规-工作对应表行列转置的最优方案

一、Excel/Google Sheets 可视化操作(适合非编程场景)

步骤1:逆透视原始数据

把多列法规转换成多行对应关系:

  • Excel:选中原始数据(含表头)→ 点击「数据」选项卡→「从表格/区域」进入Power Query编辑器→ 选中所有Law#1/Law#2/Law#3列→ 右键选择「逆透视列」→ 得到WorkToDo、法规、值三列(仅保留值为X的行)
  • Google Sheets:用公式快速拆分,假设原始数据在A1:D4,输入以下公式并拆分结果:
    =QUERY(FLATTEN(A2:A4&"|"&B1:D1&"|"&B2:D4), "select Col1 where Col3='X'")
    

步骤2:生成目标透视表

基于逆透视后的干净数据,创建透视表:

  • 行字段选「法规」,值字段选「WorkToDo」
  • Excel:设置值字段为「合并单元格」或用自定义格式拼接;Google Sheets可配合TEXTJOIN(", ", TRUE, WorkToDo)实现多工作项合并

二、Python Pandas 代码实现(适合自动化/批量场景)

如果需要重复处理或对接其他系统,用代码更高效:

import pandas as pd

# 构造原始数据(实际可通过pd.read_csv/pd.read_excel读取)
raw_data = {
    "WorkToDo": ["Work1", "Work2", "Work3"],
    "Law#1": ["X", "", "X"],
    "Law#2": ["", "X", "X"],
    "Law#3": ["X", "X", ""]
}
df = pd.DataFrame(raw_data)

# 逆透视+过滤无效行
unpivoted = df.melt(id_vars="WorkToDo", var_name="法规", value_name="匹配标记")
valid_data = unpivoted[unpivoted["匹配标记"] == "X"]

# 按法规分组合并工作项
result = valid_data.groupby("法规")["WorkToDo"].apply(", ".join).reset_index()
print(result)

输出结果就是法规对应工作项的目标表,可直接导出为Excel/CSV。

方案选择建议

  • 临时处理少量数据:优先用Excel Power Query,操作零代码、直观高效
  • 需自动化或批量处理:用Pandas代码,可集成到工作流中重复执行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 23:30:57