如何使用谷歌脚本检测两个单独行中的重复值?

2024-02-24

我正在尝试使用 Google 脚本和 Google 电子表格检测 B 列中的值是否已在 A 列中提及。这些列位于 2 个单独的工作表中。由于某种原因,我没有足够的经验来让它工作:)提前谢谢 获取北欧

function insert(e,sheet) {
var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/12NpQZBCaw2jmK5oR-zWmvfNxGeMjiAQzB4-RFtX30W4/edit#gid=0");
var sheet = ss.getSheetByName("Sheet1")"
var check2 =sheet.getRange(seclastrow, 1).getValue();
var st = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/1gYEedTcsbjNKLl5Fmd1kxROIah5uIq3VHG_O7JKvEs0/edit#gid=0");
var sheett = st.getSheetByName("sheet1");
var data = sheett.getRange("P8:P50").getValues();
var newData = new Array();
for (i in data) {
    var row = data[i];
  /*  TODO feature enhancement in de-duplication
    var date_modified =row[row.length-2];

    var order_key = row[row.length];

    var existingDataSearchParam = order_key + "/" + date_modified; 
   */

    var duplicate = false;

    for (j in newData) {

      var rowNewData = newData[j];

      var new_order_key = rowNewData[rowNewData.length];

      //var newDataSearchParam = new_order_key + "/" + new_date_modified; // TODO feature enhancement in de-duplication

      if(check2 == newData) {
            duplicate = true;

        }

      // TODO feature enhancement in de-duplication
      /*if (existingDataSearchParam == newDataSearchParam){
        duplicate = true;
      }*/

    }
    if (duplicate == true) {
        sheett.getRange(8, 26).setValue("Success");;
    }else {
      sheett.getRange(8, 26).setValue("Not Found");
}
}
var truefalse = sheett.getRange(8, 26).getValue();

 return ContentService
 .createTextOutput(newData)
 .setMimeType(ContentService.MimeType.JAVASCRIPT);

}


查找两个不同电子表格中不同列之间的重复项

您需要提供 ID0、ID1、SheetName0 和 SheetName1

function findDuplicatesInDifferentSpreadsheets() {
  var ss0=SpreadsheetApp.OpenById("ID0");
  var sh0=ss0.getSheetByName("SheetName0");
  var rg0=sh0.getRange(1,1,sh0.getLastRow(),1);
  var vA0=rg0.getValues();
  var ss1=SpreadsheetApp.openById('ID1');
  var sh1=ss1.getSheetByName("SheetName1");
  var rg1=sh1.getRange(1,2,sh1.getLastRow(),1);
  var vA1=rg1.getValues();
  var dA=[];//duplicate array
  var v0A=vA0.map(function(r){return r[0];});//flatten
  var v1A=vA1.map(function(r){return r[0];});//flatten
  for(var i=0;i<v0A.length;i++) {
    for(var j=0;j<v1A.length;j++) {
      if(v0A[i]==v1A[j]) {
        dA.push(Utilities.formatString('Duplicate Found:<br />SpreadSheet: %s SheetName: %s Row: %s Value: %s<br />SpreadSheet: %s SheetName: %s Row: %s Value: %s',ss0.getName(),sh0.getName(),i+1,v0A[i],ss1.getName(),sh1.getName(),j+1,v1A[j]));
      }
    }
  }
  //Logger.log(dA);                            
  var html=dA.join('<br />');
  var userInterface=HtmlService.createHtmlOutput(html);
  SpreadsheetApp.getUi().showModelessDialog(userInterface, 'Duplicates');//Results Dialog
}

我的数据表

  • Google Apps 脚本文档 https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet
  • JavaScript 参考 https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/1.6
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用谷歌脚本检测两个单独行中的重复值? 的相关文章

  • Google应用程序脚本忽略数据验证错误

    我有一些具有数据验证规则的工作表可用作下拉列表 当尝试将其他 未经验证的 数据插入这些单元格时 我的代码现在会产生错误 我正在寻找一种方法来忽略数据验证规则并插入数据而不更改已设置的数据验证规则 我只想忽略应用程序脚本错误 您在单元格 U4
  • 第 n 行到最后一行的总和

    我想在电子表格顶部创建一个 TOTAL 行 在此行中 每个单元格应为 TOTAL 行下方列中的值的总和 例如 如果总行数是第 1 行 则单元格 A1 应该是 A2 到 A 列最后一行的总和 电子表格中的行数会随着时间的推移而增长 所以我不能
  • 对不同长度的数组使用 setValues()

    我在 Google Apps 脚本中有一个二维数组 其中包含不同长度的数组 我想在电子表格中设置数组的值 但是 由于其中的数组长度不同 我收到一个错误 本质上是说范围和数组高度不对齐 我在下面列出了数组结构的示例 如果我向每个单独的数组添加
  • 在提交 Google 表单时找不到具有给定 ID 的项目

    我创建了一个在 Google 表单上运行 onSubmit 的脚本 它应该获取上传到表单的图像的 ID 获取 Blob 形式的图像 然后将其转发到某个电子邮件地址 问题是 有时 大约十分之一 脚本会给出以下错误 例外 找不到具有给定 ID
  • 有没有办法在指定标题的同时将数据附加到谷歌表格?

    在谷歌表格中 我有一个包含很多列的时间序列数据 date mcdonalds kfc anw tacobell 2017 08 01 432 65 543 543 2017 08 02 76 53 74 32 2017 08 03 76 2
  • .setFormula() 并收到错误缺少 ) 参数列表

    I have setFormula 并坚持这一点 我认为问题在于逗号 在发布这个问题之前 我研究了几个在线论坛 但没有运气 也许这里有人可以帮助我 我确实知道使用的规则 and 这就是为什么我尝试了几个公式 但仍然收到错误消息 参数列表后缺
  • “在 Chrome 网上应用店中注册”未显示在 Google 脚本编辑器中

    我正在尝试将脚本 在脚本库中称为 Paypal 商店 作为 Chrome 网上应用店中的网络应用程序发布 但 Google 脚本的 发布 菜单中未显示 在 Chrome 网上应用店中注册 项目编辑器 此菜单中唯一的项目是 发布到库 和 部署
  • 如何在链接到表单的工作表中执行 Google 工作表脚本之前等待 Google 表单脚本完成执行

    我有两个脚本 一个链接到 Google 表单 另一个链接到 Google 表格 我需要确保 Google 表单脚本在执行链接到 Google 表单的工作表的 Google 工作表脚本主体之前完成执行 如何才能做到这一点 需要等待 Googl
  • Google Apps 脚本:从云端硬盘下载文件(同一用户)

    我正在尝试编写一个 Google Apps 脚本来下载特定云端硬盘文件夹中的所有文件 可能是 csv 文件 我找到了 getDownloadUrl 方法 但我不知道该做什么do用它 我目前正在尝试以下代码 其中files是文件夹中的文件列表
  • 谷歌表格巧妙地将数字格式化为十亿/百万/千[重复]

    这个问题在这里已经有答案了 我有这个数字模板格式 gt 999950 0 0 M lt 999950 0 0 M 0 0 K 但是如何才能让Zeros显示为 呢 我认为你不能 条件只能应用于前两个子格式 如果一个数字匹配多个子格式 它将使用
  • 如何更改 Google 表格中图表的背景不透明度?

    我想在 Google 表格中设置 Google 图表的透明度或不透明度 就像在 Microsoft Excel 中一样 将图像设置在文本后面 以便文本仍然可读 不过好像该功能不起作用 功能预览 http drive google com f
  • 从 Gmail 获取 pdf 附件作为文本

    我在网络和 Stack Overflow 上搜索但没有找到解决方案 我尝试做的事情如下 我通过邮件收到某些附件 我希望将其作为 纯 文本进行进一步处理 我的脚本如下所示 function MyFunction var threads Gma
  • 无法实施第三方 Google 日历会议插件

    我正在研究 Google 日历会议插件的实施并发现了一些问题 我按照文档执行示例代码 但它没有按预期工作 从我的角度来看 我的清单文件是完整的 但是当我尝试从 从清单部署 链接发布日历会议插件时 它会打开我的谷歌日历 但它不会显示我的会议
  • 服务不可用:复制 Google 文档时出现 DOCS

    突然遇到一个问题 即 Google DOCS 服务在调用一些复制元素后失败 有趣的是 它实际上复制了第一个元素 但是当它进入 for 内的第二个循环时 它失败并给出以下错误 服务不可用 文件 该脚本在我们公司内部发布后 可以正常运行几个月
  • 图像未显示在从 HTML 创建的 PDF 上

    我想动态创建 PDF 这意味着我将从 Google Drive 获取文件 然后将它们放入 HTML 代码中 并尝试从中创建 PDF 一切工作正常 除了图像没有显示 我现在正在做的是 从 HTML 字符串创建 HtmlOutput 获取该 H
  • 如何使用 Google Sheets onEdit() 触发器运行函数来更新 Google Form

    我有一个 Google 表格工作簿 其中有一个工作表 我想用它来保存工作簿和 Google 表单的设置 我做了一个定制onEdit 触发两个函数的函数 一个用于更新工作簿 另一个用于更新表单 function onEdit e var ra
  • 一起使用“过滤”和“排序”的 Google 表格

    这是我的第一个问题 我希望一切都好 我是使用谷歌表格的新手 但我正在慢慢进步 我正在尝试构建一个工作表 其中包含工作表 1 中的所有数据 在工作表 2 上 我想过滤工作表 2 中 D 列中标有数字 1 的所有数据 为此 我正在使用 FILT
  • 使用 Promise 对 Google 表格进行多次查询

    我是一名初学者编码器 需要一些帮助来加快我的 Google 表格查询速度 我环顾四周 找不到解决方案 我正在尝试快速对 Google 表格运行 25 个查询 这就是我的尝试方式 对 Google 工作表运行查询 将结果推送到数组 运行不同的
  • 在Google电子表格中划分整列

    我是 Google 电子表格的一个相对较新的用户 我希望 B 列中的每个单元格都是 A 列 同一行 中内容除以 5 的结果 B1 B2 B3 等 商 应为 A1 A2 A3 等 被除数 除以 5 除数 在示例中 B1 A1 5 我知道一项一
  • 查询新的谷歌电子表格

    我使用谷歌可视化创建了一个折线图 该代码查询谷歌电子表格 当我使用普通电子表格 第 1 行 时 它可以工作 当我使用新的谷歌电子表格 第 2 行的 URL 时 出现以下错误 Error in query request time out 我

随机推荐