从Google电子表格中的工作表1中导入的数据中删除工作表2中的行

时间:2016-10-22 00:01:55

标签: google-sheets row

screenshot

大家好,我需要帮助,我不是编码员。我想在第2张纸上做同样的事情。

我的数据是通过第1页的“=提交!$ b2”导入的

当H列上的特定单元格不包含值“Bekreft”时,我需要帮助自动删除行,我尝试了这里显示的两个代码但没有成功。

这是我为脚本添加的内容:

function onEdit() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = ss.getSheetByName('DATA - Do Not Touch!!!'); // change to your own
  var values = s.getDataRange().getValues();
    for(var i=values.length;i>0;i-=1){
     var lcVal=values[i-1][0].toLowerCase() //Change to all lower case
     var index = lcVal.indexOf("vent"); //now you only have to check for      contains "vent"
     if (lcVal.indexOf("vent") > -1){
     s.deleteRow(i)};
  }}

1 个答案:

答案 0 :(得分:0)

看到你说你“不是编码员”,如果你引用另一个页面的数据,你粘贴的代码将无法帮助你,我建议使用过滤功能来实现你的目标。您可以将以下公式添加到第二页:

int iResult;
char Block[512];
int32_t file_size;
for(;;) {
    FILE* fp = fopen("/tmp/frame", "wb");
    if(!fp) { break; }

    memset(Block, 0, sizeof(Block));
    iResult = recv_to((char*)&file_size, sizeof(file_size), 10);
    if(iResult <= 0 ) { break; }

    while(file_size > 0) {
        iResult = recv_to(Block, sizeof(Block), 10);
        if(iResult <= 0) { break; }

        if(fwrite(Block, 1, iResult, fp) != (unsigned)iResult) { return; }
        file_size -= iResult;
    }
    fclose(fp);
    system("mv /tmp/frame /tmp/stream.jpg");
    //send(socket_, "OK", strlen("OK"), 0); // response
}

如果您希望脚本浏览静态列表并删除不包含“Bekreft”的值,则可以使用以下脚本。

  =FILTER(Submission!B:B,ISNUMBER(SEARCH("Bekreft", Submission!H:H)))