【发布时间】:2021-12-19 17:49:03
【问题描述】:
我是学习谷歌脚本的初学者。
我需要使用谷歌脚本将数据从一张表提交到另一张表。当我点击submitData时,它应该检查它是否是以前输入的数据。如果之前输入了数据,代码必须停止。如果是新条目,则将数据桅杆发送到“输出”表。谁能帮我找出我的错误?
编辑:我准备了一个生物数据格式。我将在我的学校朋友之间分享这个谷歌表格,并要求填写他们的详细信息并点击提交按钮。我希望他们停止发送重复数据。他们的身份证号码将在“A3”单元格中提及。这些数据存储在“输出”表中。标识号存储在 B 列中。“A3”单元格数据与 OUTPUT 文件中的 B 列数据匹配,如果重复,则 msg 提示“重复”。
现在当我运行它时,数据提交到“输出”表,甚至在“A3”单元格中输入了重复数据。
function submitData() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var formSS = ss.getSheetByName("input"); //Data entry Sheet
var datasheet = ss.getSheetByName("output");
var ttt = formSS.getRange("A3").getValue();
var values = ss.getSheetByName("output").getDataRange().getValues();
for (var i = 0; i < values.length; i++) {
var row = values[i];
if (row[1] == ttt) { //column B of the "output" sheet has project IDs (Unique Number)
SpreadsheetApp.getUi().alert('Duplicate data. you need to click update');
}
else
{
var values = [[formSS.getRange("E2").getValue(),
formSS.getRange("A3").getValue()]],
datasheet.getRange(datasheet.getLastRow()+1, 1, 1, 2).setValues(values);
}
}
}
【问题讨论】:
-
你的脚本有什么问题?您尝试对其进行什么测试/调试?
-
当我运行它时(我将脚本分配给图像并单击),数据提交到“输出”表甚至在“A3”单元格中输入了重复数据。
-
是的,但是您说您不想发送重复数据,而这正是您正在做的事情。
-
@Cooper 实际上我的目的是将许多单元格数据(在输入表中)发送到另一个谷歌表。我只是在这里简单地学习:)。我现在将尝试用文字来解释它。我准备了一个生物数据格式。我将在我的学校朋友之间分享这个谷歌表格,并要求填写他们的详细信息并点击提交按钮。我希望他们停止发送重复数据。他们的身份证号码将在“A3”单元格中提及。这些数据存储在“输出”表中。标识号存储在 B 列中。“A3”单元格数据与 OUTPUT 文件中的 B 列数据匹配,如果重复,则 msg 提示“重复”
-
您的好友数据从哪一行开始?
标签: google-apps-script google-sheets duplicates