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

如何在Excel/Google Sheets中转置特定格式的CSV数据?

在Excel或Google Sheets中转置展开CSV数据的方法

原始CSV数据

Column 1, Column 2, Column 3,  
NAME 1, APP1, APP2 
NAME 2, APP2 
NAME 3, APP1, APP3 

目标结果

Column 1, Column 2, Column 3,  
NAME 1, APP1
NAME 1, APP2 
NAME 2, APP2 
NAME 3, APP1
NAME 3, APP3 

Excel 实现方案

方法1:Power Query(高效处理大规模数据)

  1. 将CSV导入Excel:点击「数据」选项卡 → 「自文本/CSV」,选择目标文件完成导入。
  2. 进入Power Query编辑器后,选中Column 1列,点击「转换」选项卡 → 「逆透视列」→ 「逆透视其他列」。
  3. 此时所有APP列会被展开为单独行,删除自动生成的「属性」列,将「值」列重命名为Column 2。
  4. 点击「关闭并上载」,数据将按目标格式输出到新工作表。

方法2:公式法(适合小规模数据)

假设原始数据位于A1:C4区域:

  1. 在E1、F1分别输入表头Column 1、Column 2。
  2. 在E2输入公式:
    =INDEX($A$2:$A$4,INT((ROW()-2)/COUNTA($B$2:$C$4)+1))
    
  3. 在F2输入公式:
    =INDEX($B$2:$C$4,INT((ROW()-2)/2)+1,MOD(ROW()-2,2)+1)
    
    (注:公式中的2是每行最多的APP项数,需根据实际数据调整)
  4. 下拉填充公式至出现错误值,删除错误行即可得到结果。

Google Sheets 实现方案

方法1:函数组合(无需插件)

假设原始数据位于A1:C4区域:

  1. 在E1、F1分别输入表头Column 1、Column 2。
  2. 在E2输入公式:
    =ARRAYFORMULA(TRIM(FLATTEN(SPLIT(REPT(A2:A4&"|",COUNTA(B2:C4)),"|"))))
    
  3. 在F2输入公式:
    =ARRAYFORMULA(TRIM(FLATTEN(B2:C4)))
    
  4. 过滤掉结果中的空行,即可得到目标格式。

方法2:Power Tools插件(可视化操作)

  1. 安装Power Tools插件后,打开插件选择「Split to Rows」功能。
  2. 选中需要展开的APP列(B、C列),设置按逗号分割,关联Column 1列作为分组项,执行操作即可完成数据展开。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 13:05:55