【问题标题】:Google Sheets regex - sum a column based on text in the cell谷歌表格正则表达式 - 根据单元格中的文本对一列求和
【发布时间】:2020-06-14 12:46:04
【问题描述】:

假设我有一个可以包含多个字符串的单元格,但字符串具有一致的格式: 例如,每一行是一个单元格的内容

12km run, 2km swim, 15km bike
6km run, 10km bike
3km swim
15km run, 1km swim

等等

现在,我想对列求和,但有条件地取决于数字所属的字符串,这样我就可以有跑步、游泳和自行车的 3 个总和类别,即。在上述情况下,想要的输出是:

33km run
25km bike
6km swim

任何想法如何构造一个可以根据这些条件对列求和的函数?

【问题讨论】:

    标签: google-sheets


    【解决方案1】:

    如果我正确理解您的要求,请尝试以下公式,假设您在 A 列

    中有数据

    运行:

    =Sum(iferror(ARRAYFORMULA(value(regexreplace(REGEXEXTRACT(A2:A,"(\S+.run)"),"\D",""))),""))&"km run"
    

    游泳:

    =Sum(iferror(ARRAYFORMULA(value(regexreplace(REGEXEXTRACT(A2:A,"(\S+.swim)"),"\D",""))),""))&"km swim"
    

    自行车:

    =Sum(iferror(ARRAYFORMULA(value(regexreplace(REGEXEXTRACT(A2:A,"(\S+.bike)"),"\D",""))),""))&"km bike"
    

    如果您需要一个单元格中的所有内容

    =Sum(iferror(ARRAYFORMULA(value(regexreplace(REGEXEXTRACT(A2:A,"(\S+.run)"),"\D",""))),""))&"km run, "&
    Sum(iferror(ARRAYFORMULA(value(regexreplace(REGEXEXTRACT(A2:A,"(\S+.swim)"),"\D",""))),""))&"km swim, "
    &Sum(iferror(ARRAYFORMULA(value(regexreplace(REGEXEXTRACT(A2:A,"(\S+.bike)"),"\D",""))),""))&"km bike"
    

    【讨论】:

      猜你喜欢
      • 2022-10-14
      • 1970-01-01
      • 2022-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-23
      • 2020-03-06
      • 2020-08-10
      相关资源
      最近更新 更多