2017-05-09 41 views
0

我正在使用IFTTT将发送到我的电子邮件地址的表单发送到Google表格。内容被粘贴到A列中的一大块,我无法弄清楚如何将文本以格式良好的方式分割成列。理想情况下,我想只包括答案在列形式问题,列AGoogle表格中的“将文本拆分为列”的脚本

这里的权利是什么被粘贴到A列的样本:

New customer message on May 9, 2017 at 12:15 PM 

You received a new message from your Online Store's contact form. 

Name: 

Jon Snow 

Email: 

[email protected] 

Q1: 

Yes 

Q2: 

No 

Q3: 

yes 

Q4: 

no 

Q5: 

no 

是我可以使用某种脚本来显示名称,电子邮件地址以及A列右侧7列中5个问题的答案?

回答

0

我有一个基本的解决方案,你可以建立,如果你喜欢。

我的解决方案假定几件事情,首先名字总是将是两个词,其次是答案总是会为yes或no

这将为A列中

任意数量的行的整体解决方案是基于一种特殊的方式分裂字符串的工作,这不是很流畅,因为它假定的空间和格式量将永远是一样的。这是一个开始:)

function myFunction() { 
    var ss = SpreadsheetApp.getActiveSheet(); 
    var dataRangelength = ss.getDataRange().getLastRow(); 
    var strRef = ss.getRange("A1:A" + dataRangelength); 
    var str = strRef.getValues(); 

    for (var i = 0; i < dataRangelength; i++) { 
    var row = str[i]; 
    var A1ref = i + 1 
    var rowRef = ss.getRange("A" + A1ref); 
    if (row != "") { 

    var arr = row.toString().split(" "); 
    var arr1 = arr[20].toString().split("\n"); 
    var arr2 = arr[21].toString().split("\n"); 

    rowRef.offset(0, 1).setValue(arr1[4] + " " + arr2[0]); 
    rowRef.offset(0, 2).setValue(arr2[4]); 
    rowRef.offset(0, 3).setValue(arr2[8]); 
    rowRef.offset(0, 4).setValue(arr2[12]); 
    rowRef.offset(0, 5).setValue(arr2[16]); 
    rowRef.offset(0, 6).setValue(arr2[20]); 
    rowRef.offset(0, 7).setValue(arr2[24]); 
    }} 
}