求助:如何用Excel或Power Query实现ID多诊断的行列转换?
Excel中Study ID诊断记录的行列转换方案
方法一:Power Query(高效批量处理)
- 选中包含表头的数据区域,点击「数据」选项卡 → 「从表格/区域」,勾选「我的表格有标题」,进入Power Query编辑器。
- 选中
Study ID列,点击「转换」→ 「分组依据」,设置:- 分组依据:
Study ID - 新列名:
诊断集合 - 操作:
所有行
- 分组依据:
- 选中
诊断集合列,点击「添加列」→ 「自定义列」,输入公式(替换「诊断结果」为你实际的列名):
点击确定生成包含所有诊断结果的列表列。[诊断集合][诊断结果] - 选中新生成的列表列,点击「转换」→ 「提取值」,选择合适的分隔符(如逗号、分号),点击确定,即可将列表转为单个字符串。
- 点击「主页」→ 「关闭并上载」,完成数据导出。
若需将不同诊断结果拆分为独立列(如「诊断1」「诊断2」),可调整步骤:
- 回到原始数据的Power Query界面,选中
Study ID和「诊断结果」列,点击「转换」→ 「透视列」,值列选择「诊断结果」,高级选项选「不要聚合」,系统会自动生成对应数量的诊断列。
方法二:数据透视表+辅助列(适合快速手动处理)
- 在原数据中添加辅助列(如
记录序号),输入公式(假设Study ID在A列,数据从第2行开始):
下拉填充,为每个=COUNTIF($A$2:A2,A2)Study ID的重复记录标记序号(1、2、3...)。 - 选中数据区域,点击「插入」→ 「数据透视表」,选择放置位置。
- 在透视表字段面板中:
- 将
Study ID拖至「行」区域 - 将
记录序号拖至「列」区域 - 将「诊断结果」拖至「值」区域,右键值字段 → 「值字段设置」,选择「最大值」(因同一行列组合仅对应一个诊断结果)。
- 将
- 调整透视表格式,即可得到每个
Study ID对应不同诊断结果的行列转换效果。
内容的提问来源于stack exchange,提问作者Gwen Taylor
相关产品推荐
相关产品推荐

