首页 > 解决方案 > 检查值是否存在于另一张表中

问题描述

if(formS.getRange("B2").getValue()   )// check if value exist in another sheet
 { 

 SpreadsheetApp.getUi().alert("duplicate record");
 return
}

我想检查表单上提交的值是否存在于另一张纸上

标签: javascriptgoogle-apps-scriptgoogle-sheets

解决方案


您可以通过迭代另一张工作表的值来做到这一点。然后检查使用includes是否有任何行包含特定值。请参阅下面的代码。

代码:

function checkValue() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var formS = sheet.getSheetByName("Sheet1");
  var formD = sheet.getSheetByName("Sheet2");

  var valueToSearch = formS.getRange("B2").getValue();
  var formDValues = formD.getDataRange().getValues();

  // Filter the other sheet's data where a row contains the valueToSearch
  // If it has at least 1 element, then it is duplicate
  if(formDValues.filter(row => row.includes(valueToSearch)).length) {
    SpreadsheetApp.getUi().alert("duplicate record");
    return
  }
}

表 1:

表 1

表2:

表2

输出:

输出


推荐阅读