【问题标题】:Google Scripts - Regreplace, Transpose and split DataGoogle Scripts - 重新替换、转置和拆分数据
【发布时间】:2020-03-02 00:18:32
【问题描述】:

我有一个用于记录销售数据的谷歌表格。我将原始数据粘贴到 Sheet A!A1,原始数据包含文本、数字和“unusable”字符,它们在拆分公式中用于定义列。

然后我使用转置脚本将此数据拉到工作表 B 上,将数据水平粘贴到最后一行 +1。

我的问题是,在拆分数据时,我的定义字符是 ][ - 这很好用,但是,销售中记录的项目不会从数量中拆分 - 它仍然如下Item xQuantity#。如果我将分隔符更改为#x,这将导致脚本拆分包含字母 x 的文本,以及执行将“Item xQuantity”拆分为“Item, Quantity”的所需功能

任何建议都会有所帮助!

需要将数据细化为可读值,然后归档到辅助表中

应要求提供一些数据样本:

这被粘贴到 SheetA!A1 中:

总价 4,864,910 美元。每件商品细分:[巧克力吻袋 x200 @ 450 = 90,000] [纸巾盒 x1 @ 300 = 300] [夹克 x66 @ 200 = 13,200]

上述数据可以是 1 行文本,也可以是单个单元格中的 100 多行。

然后我使用下面的公式,删除不需要的字符,并分成所需的列:

=SPLIT( REGEXREPLACE(Front!A3,"^A-Za-z+]. Breakdown per item:, x#"," "),"[]@=")

我目前正在使用它来将数据提取到存档表中,一旦细化:

  function CaptureData() { 
 var ss = SpreadsheetApp.getActiveSpreadsheet ();
    var source = ss.getRange ("Back!8:8");
  var destSheet = ss.getSheetByName("Data");

  var destRange = destSheet.getRange(destSheet.getLastRow()+1,1);
  source.copyTo (destRange, {contentsOnly: true});

}

下图是存档表,带有所需的输出 - 请注意,屏幕截图当前显示了我遇到的问题。

Archive Sheet

【问题讨论】:

  • 能否提供数据的链接表或图片表,并生成您想要的数据?
  • 您能否提供一份样本表或样本字符串来说明您正在尝试做什么?这可以澄清很多你的问题。在此先感谢:D
  • 您好,感谢您的回复 - 我已按要求添加了更多信息,希望对您有所帮助。谢谢!
  • 所以为了完全清楚,您的预期输出是将Item xQuantity # 分开,对吗?或者你想要Item x Quantity #
  • Item X 与 Quantity # 分开是想要的输出,是的

标签: javascript google-sheets formula google-sheets-formula google-apps-script-editor


【解决方案1】:

解决方案

由于您的项目数量指标是小写 x 出现在空格之后,并且您总是以大写 X 开头每个项目命名,您可以嵌套另一个 REGREPLACE 以将 [blank space] x 替换为一个设置为拆分字符串的字符。以下公式按照您的意图执行:

=SPLIT( REGEXREPLACE(REGEXREPLACE(A1,"Breakdown per item:"," "), " x", "@"),"[]@=")

我希望这对您有所帮助。让我知道您是否需要其他任何内容或者您是否不理解某些内容。 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-23
    • 1970-01-01
    • 2014-04-22
    • 2019-02-14
    • 1970-01-01
    • 2013-01-05
    • 2017-04-16
    相关资源
    最近更新 更多