代码之家  ›  专栏  ›  技术社区  ›  TooManyJulians

将复杂列表中的数据拆分为单个条目

  •  -1
  • TooManyJulians  · 技术社区  · 4 年前

    我有一个复杂的公共假日列表,我希望能够在谷歌表单中解析和处理这些列表,但现在这些值以三列的形式传递给我,最后一列中有多个值,用逗号分隔(公共假日所在的位置)。

    我可以使用“将数据拆分为列”选项来拆分值,但这并不能解决我需要三列中的一个列表的问题。

    数据链接如下: https://docs.google.com/spreadsheets/d/1xvGerIveHVKqeSCczioTyDk4ksNH8TJMpaxKkXzMIUI/edit?usp=sharing

    目前,当这个更新后,我会手动清理它,并以正确的格式获取它,我尝试了多种方法尝试并以编程方式拆分所有值,但一直没有弄清楚。任何帮助都将不胜感激!

    1 回复  |  直到 4 年前
        1
  •  2
  •   MiMi    4 年前

    三列

    function toothree() {
      const ss = SpreadsheetApp.getActive();
      const sh = ss.getSheetByName('Sheet0');
      const osh = ss.getSheetByName('Sheet1');
      const vs = sh.getRange(2,1,sh.getLastRow() - 1,sh.getLastColumn()).getValues();
      let obj = {pA:[]};
      let vo = [];
      vs.forEach(r => {
        let loc = r[2].split(',').map(e => e.trim());
        loc.forEach(l => {
          vo.push([r[0],r[1],l]);
        })
      });
      vo.unshift(['Date','Description','Location']);
      osh.clear();
      osh.getRange(1,1,vo.length,vo[0].length).setValues(vo);
    }
    

    第1页的部分:

    日期 描述 地方
    1/3/2022 元旦(替代) 伦敦
    1/3/2022 元旦(替代) 曼彻斯特
    1/3/2022 元旦(替代) 纽卡斯尔
    1/3/2022 元旦 芝加哥
    1/3/2022 元旦 达拉斯
    1/3/2022 元旦 纽约
    1/3/2022 元旦 丹佛
    1/3/2022 元旦 旧金山
    1/3/2022 元旦 布里斯班
    1/3/2022 元旦 墨尔本
    1/3/2022 元旦 悉尼
    1/6/2022 顿悟 米兰
        2
  •  0
  •   z..    4 年前

    在第1行试试这个:

    ={'Current Format'!A1:C1;'Current Format'!A2:B,Index(Split('Current Format'!C2:C,","),,1)}
    
    推荐文章