-1

我正在使用 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 个问题的答案?

4

1 回答 1

0

I have a rudimentary solution that you can build on if you like.

My solution assumes a few things, firstly the name is always going to be two words, secondly the answers are always going to be yes or no.

This will work for any number of rows in column A.

The whole solution is based on splitting up the string in a particular way, and it's not very fluid as it assumes the amount of spaces and the formatting will always be the same. It's a start :)

    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]);
    }}
}
于 2017-05-10T05:30:33.590 回答