我正在使用IFTTT将发送到我的电子邮件地址的表单推送到Google表格。内容被粘贴到一个大块的A列中,我无法弄清楚如何以格式良好的方式将文本拆分成列。理想情况下,我只想在A栏右侧的栏中列出表格上的问题答案。
以下是粘贴到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:
sample@gmail.com
Q1:
Yes
Q2:
No
Q3:
yes
Q4:
no
Q5:
no
我是否可以使用某种脚本来显示A栏右侧7列中的5个问题的名称,电子邮件地址和答案?
答案 0 :(得分:0)
我有一个基本的解决方案,如果你愿意,你可以继续。
我的解决方案假设一些事情,首先名称总是两个字,其次答案总是是或否< / strong>即可。
这适用于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]);
}}
}