谷歌脚本-回归,转换和拆分数据



我有一个谷歌表,用来记录销售数据。我将原始数据粘贴到工作表A!A1中,原始数据包含文本、数字和">不可用"字符,这些字符在拆分公式中用于定义列。

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

我的问题是,在分割数据时,我的定义字符是][-这很好,但是,销售中记录的项目并没有从数量中分离出来——它保持为Item xQuantity#。如果我将deliminator更改为#x,这将导致脚本拆分包含字母x的文本,并执行将"Item xQuantity"拆分为"Item,Quantity"的所需功能

任何建议都会很有帮助!

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

应要求,以下是一些数据样本:

这已粘贴到SheetA中!A1:

总价4864910美元。每件物品的明细:[一袋巧克力吻x200@450=9000][一盒纸巾x1@300=300][夹克x66@200=13200]

上面的数据可以是从一行文本到单个单元格内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});
}

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

档案表

解决方案

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

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

我希望这对你有所帮助。如果你还需要什么,或者你不明白什么,请告诉我。:(

相关内容

  • 没有找到相关文章

最新更新