Google apps script 按空单元格筛选内容

Google apps script 按空单元格筛选内容,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有一个谷歌电子表格和一个用户列表。这些用户已获得数据(姓名、电子邮件、年龄) 还有一个功能,通过电子邮件发送此用户列表 此功能正常工作,但我只需要发送带有空单元格的用户 如何在谷歌应用程序脚本电子表格中实现这一点,有什么帮助吗 范例 电子邮件正文: username | age | email jhon | **empty** | jhon@j.com sam | 25 | **empty** 有很多方法可以做到这一点,甚至有

我有一个谷歌电子表格和一个用户列表。这些用户已获得数据(姓名、电子邮件、年龄)

还有一个功能,通过电子邮件发送此用户列表

此功能正常工作,但我只需要发送带有空单元格的用户

如何在谷歌应用程序脚本电子表格中实现这一点,有什么帮助吗

范例

电子邮件正文:

username | age          | email

jhon     |  **empty**   | jhon@j.com

sam      | 25           | **empty**

有很多方法可以做到这一点,甚至有更多的方法在电子邮件中显示数据

这里是其中之一,从这段代码中,您应该能够构建一个脚本,以您想要的方式显示结果。。。脚本按原样工作并显示选择的逻辑

请参阅解释每个步骤的代码中的注释

function sendIncompleteData() {
  var sh = SpreadsheetApp.getActive().getActiveSheet();
  var data = sh.getDataRange().getValues();// get all the data in the sheet
  var headers = data.shift();// extract headers and keep in a variable
  Logger.log(headers+'\n'+data);// check values in the logger
  var toSend = [];// this will hold the list to send
  for(var n in data){ // iterate the array
    var send = false;
    var row = data[n];// row by row and cell by cell, starting in second column
    var msg = 'Missing element for '+row[0]+' : ';// prepare message for 1 row
    var present = '  (';// this will show available data
    for(var c=1 ; c<row.length ; c++){
      if(row[c]==''){msg+=headers[c]+'    ' ; send=true} else {present+=row[c]+' - '};
    }
    if(send){toSend.push(msg+present+')')};// collect data to send
  }
  if(toSend.length>0){ // if at least one row has missing data
    MailApp.sendEmail(Session.getEffectiveUser().getEmail(),'missing data in sheet '+sh.getName(),toSend.join('\n'));// send the message to the sheet user (change eventually the recipient to your need
  }
}
函数sendIncompletedData(){
var sh=SpreadsheetApp.getActive().getActiveSheet();
var data=sh.getDataRange().getValues();//获取工作表中的所有数据
var headers=data.shift();//提取头并保留在变量中
Logger.log(headers+'\n'+data);//检查记录器中的值
var toSend=[];//这将保存要发送的列表
对于(数据中的var n){//迭代数组
var send=false;
var row=data[n];//逐行和逐单元格,从第二列开始
var msg='缺少'+行[0]+'的元素:';//为1行准备消息
var present='(';//这将显示可用数据
对于(var c=1;c0){//如果至少有一行缺少数据
MailApp.sendEmail(Session.getEffectiveUser().getEmail(),“工作表中缺少数据”+sh.getName(),toSend.join('\n');//将邮件发送给工作表用户(最终根据需要更改收件人
}
}

注意:它将自动适应任意数量的列,您必须在第1行中有一个标题,标题中包含变量名称(姓名、电子邮件、年龄…)

您可以发布该电子邮件功能的代码吗?