首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用Google脚本复制IF (SUMIF() >56,(SUMIF()),"")

利用Google脚本复制IF (SUMIF() >56,(SUMIF()),"")
EN

Stack Overflow用户
提问于 2020-01-24 22:26:55
回答 1查看 105关注 0票数 0

我正在尝试创建一个电子表格,它将允许我根据某个单元格("A36")是否等同于"N95“或"N64”以及范围(G35:G46)是否等于或大于"56“来发送电子邮件。我在过去通过使用IF(SUMIF()>56,(SUMIF(),"")公式实现了这一点。但是,我的客户希望文档本身没有公式。

这是我到目前为止所削的..。

代码语言:javascript
复制
       function newFile() {
    var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
    var values = ss.getRange("G35:G46").getValues();
    var Ext = ss.getRange("A36").getA1Notation();
     if((values.getValue()>="56") && (Extrusion="N64")){ 
     ss.getRange=("P1:P4").setValue("2");
     }

     if ((values.getValue()>"56") && (Ext="N95")){
      ss.getRange("P1:P4").setValue("1");
      }
      }

由于这里的更新是我已经提出的,我想要把它压缩成一个小脚本。我承认我还在学习,我很乐意得到帮助。

代码语言:javascript
复制
    function newFile() {
    var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
    var Ext = ss.getRange("A36").getValue();
         if ((ss.getRange("G35").getValue() > 55) && (Ext === "N64" || Ext === "N95")){
       ss.getRange("L35").setValue("4");}
         if ((ss.getRange("G36").getValue() > 55) && (Ext === "N64" || Ext === "N95")){
       ss.getRange("L35").setValue("4");}
         if ((ss.getRange("G37").getValue() > 55) && (Ext === "N64" || Ext === "N95")){
       ss.getRange("L35").setValue("4");}
         if ((ss.getRange("G38").getValue() > 55) && (Ext === "N64" || Ext === "N95")){
       ss.getRange("L35").setValue("4");}
         if ((ss.getRange("G39").getValue() > 55) && (Ext === "N64" || Ext === "N95")){
       ss.getRange("L35").setValue("4");}
         if ((ss.getRange("G40").getValue() > 55) && (Ext === "N64" || Ext === "N95")){
       ss.getRange("L35").setValue("4");}
         if ((ss.getRange("G41").getValue() > 55) && (Ext === "N64" || Ext === "N95")){
       ss.getRange("L35").setValue("4");}
         if ((ss.getRange("G42").getValue() > 55) && (Ext === "N64" || Ext === "N95")){
       ss.getRange("L35").setValue("4");}
         if ((ss.getRange("G43").getValue() > 55) && (Ext === "N64" || Ext === "N95")){
       ss.getRange("L35").setValue("4");}
         if ((ss.getRange("G44").getValue() > 55) && (Ext === "N64" || Ext === "N95")){
       ss.getRange("L35").setValue("4");}
         if ((ss.getRange("G45").getValue() > 55) && (Ext === "N64" || Ext === "N95")){
       ss.getRange("L35").setValue("4");}
         if ((ss.getRange("G46").getValue() > 55) && (Ext === "N64" || Ext === "N95")){
       ss.getRange("L35").setValue("4");}
     }

     // .setValue("4") is just my way of letting me know if the script was successful

完成更新。

回顾过去,我意识到我还没有发布我最终得到的最后一份。

代码语言:javascript
复制
function checkExt() {
var ssExt = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var valuesExt = ssExt.getRange("G35:G46").getValues();
var Ext = ssExt.getRange("A36").getValue();

     if ((ssExt.getRange("G35").getValue() > 55) && (Ext === "N64" || Ext === "N95")){
   sendEmails()}

根据一个单元格的值,发送电子邮件功能最终分成3组不同的人。我不打算发布全部代码,但这是其中的一个片段。

代码语言:javascript
复制
  var email = "";
     if (ssExt.getRange("K8").getValue() === "1Q1"){
       email = MailList1stShift}
     else if  (ssExt.getRange("K8").getValue() === "2Q1"){
       email = MailList2ndShift}
     else if  (ssExt.getRange("K8").getValue() === "3Q1"){
       email = MailList3rdShift} 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-27 09:50:49

如果我对您的理解是正确的,您需要检查这两种条件是否都满足了:

  • A36中的值等于N95N64
  • 范围G35:G46中的每个值都高于55。

如果是这样的话,你可以这样做:

代码语言:javascript
复制
function sendEmail() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var values = sheet.getRange("G35:G46").getValues();
  var a36 = sheet.getRange("A36").getValue();
  var n95 = sheet.getRange("N95").getValue();
  var n64 = sheet.getRange("N64").getValue();
  var higher = values.every(function(value) {
    return value >= 56;
  })
  if ((a36 === n95 || a36 === n95) && higher) {
    // Send email
  }
}

我假设您已经知道如何通过Apps脚本发送电子邮件,您只需要帮助检查这些条件。

参考资料:

我希望这有什么帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59904472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档