You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Google Sheets或Excel中根据选秀编号分类整理选秀数据

我来帮你搞定这个选秀数据格式转换的问题,不管用Google Sheets还是Excel都能实现,分步骤来操作就很清晰:

第一步:先把原始文本拆成「选秀编号+食物」的结构化两列

假设你的原始数据是放在单个单元格里(比如A1):Pick selection 1 salad 2 pizza 3 pizza 4 pizza 5 bread 6 carrots 7 pizza 8 apples 9 apples 10 pizza 11 salad

在Google Sheets里拆分:

  1. 先去掉开头的冗余文本:在B1单元格输入公式:
    =SUBSTITUTE(A1, "Pick selection ", "")
    
    得到纯数据串:1 salad 2 pizza 3 pizza ... 11 salad
  2. 提取选秀编号到C列(C1开始):
    =INDEX(SPLIT(B1, " "), SEQUENCE(ROUNDUP(COUNTA(SPLIT(B1, " "))/2), 1, 1, 2))
    
    这个公式会按步长2提取拆分后的第1、3、5...个元素,也就是所有编号。
  3. 提取食物到D列(D1开始):
    =INDEX(SPLIT(B1, " "), SEQUENCE(ROUNDUP(COUNTA(SPLIT(B1, " "))/2), 1, 2, 2))
    
    同理,提取第2、4、6...个元素,对应每个编号的食物。

在Excel里拆分(适用于365/2021版本):

  1. 同样先清理文本,B1输入:
    =SUBSTITUTE(A1, "Pick selection ", "")
    
  2. 提取编号到C列:
    =INDEX(TEXTSPLIT(B1, " "), SEQUENCE(ROUNDUP(COUNTA(TEXTSPLIT(B1, " "))/2), 1, 1, 2))
    
  3. 提取食物到D列:
    =INDEX(TEXTSPLIT(B1, " "), SEQUENCE(ROUNDUP(COUNTA(TEXTSPLIT(B1, " "))/2), 1, 2, 2))
    

如果是旧版Excel,直接用「数据」选项卡的「文本分列」功能,按空格拆分后,手动把编号和食物列整理到两列即可。

第二步:按食物分组,合并对应的选秀编号

现在我们已经有了结构化的两列数据,接下来按食物分类合并编号:

在Google Sheets里实现:

  1. 提取不重复的食物列表:在E1输入Food,E2单元格输入:
    =UNIQUE(D:D)
    
    下拉填充会自动列出所有不重复的食物。
  2. 合并对应编号:在F2输入:
    =TEXTJOIN(" ", TRUE, FILTER(C:C, D:D=E2))
    
    这个公式会筛选出当前食物对应的所有编号,并用空格连接起来,下拉填充所有食物行。
  3. (可选)合并成你要的最终格式:在G2输入=E2&" "&F2,下拉后,再用=TEXTJOIN(" ", TRUE, G:G)就能得到完整的目标字符串:Food apples 8 9 carrots 6 bread 5 salad 1 11 pizza 2 3 4 7 10

在Excel里实现:

方法1:公式法(365/2021版本)

  1. 提取不重复食物:E2输入=UNIQUE(D:D),下拉填充。
  2. 合并编号:F2输入:
    =TEXTJOIN(" ", TRUE, FILTER(C:C, D:D=E2))
    
    下拉填充后,同样用=TEXTJOIN(" ", TRUE, G:G)(G列是=E2&" "&F2)得到最终结果。

方法2:Power Query法(兼容旧版Excel)

  1. 选中结构化的两列数据,点击「数据」选项卡→「从表格/区域」(旧版选「自表格」),导入Power Query编辑器。
  2. 在编辑器里,选中「食物」列,点击「转换」选项卡→「分组依据」,设置:
    • 分组依据:食物
    • 新列名:选秀编号
    • 操作:自定义,公式填写Text.Combine(Text.From([选秀编号]), " ")
  3. 关闭并上载数据,得到分组后的结果,再整理成你要的格式即可。

方法3:数据透视表法(365版本)

插入数据透视表,把「食物」拖到行区域,在值区域添加「选秀编号」,打开「值字段设置」→「自定义」,输入公式CONCATENATEX(VALUES(表[选秀编号]), 表[选秀编号], " "),透视表会直接显示每个食物对应的所有编号。

这样操作下来,就能完美把原始格式转换成你需要的按食物分类的格式啦!

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

火山引擎 最新活动