Javascript 尝试将行记录为唯一或按ID列复制
我正在尝试为google工作表编写一个脚本,以记录ID列是否包含重复的或唯一的ID号 这就是我到目前为止所做的:Javascript 尝试将行记录为唯一或按ID列复制,javascript,arrays,google-apps-script,google-sheets,Javascript,Arrays,Google Apps Script,Google Sheets,我正在尝试为google工作表编写一个脚本,以记录ID列是否包含重复的或唯一的ID号 这就是我到目前为止所做的: function mergeCellValuesVert() { var spreadsheetId = '1GCJw9mwgi0n84iZ8L4MntBioM5Y1YtxhJ4zatNY1kZw'; var rangeName = 'Sheet1!A2:H'; var values = Sheets.Spreadsheets.Values.get(spreadsh
function mergeCellValuesVert() {
var spreadsheetId = '1GCJw9mwgi0n84iZ8L4MntBioM5Y1YtxhJ4zatNY1kZw';
var rangeName = 'Sheet1!A2:H';
var values = Sheets.Spreadsheets.Values.get(spreadsheetId, rangeName).values;
if (!values){
return;
}
else {
for (var row = 0; row < values.length; row ++){
var col = 0;
if(values[row][col] == values[row-1][col]){
Logger.log('Copy');
}
else {
Logger.log('Unique');
}
}
}
}
函数mergeCellValuesVert(){
var电子表格ID='1GCJw9mwgi0n84iZ8L4MntBioM5Y1YtxhJ4zatNY1kZw';
var rangeName='Sheet1!A2:H';
var values=Sheets.Spreadsheets.values.get(spreadsheetId,rangeName).values;
如果(!值){
返回;
}
否则{
对于(变量行=0;行非常感谢您的帮助。您有几个错误,我真的建议您看一下 然而,您得到的错误位于代码的第二个if语句中。您正在尝试访问以下内容:
值[row-1][col]
。但是,行
从0开始,因此该值[-1][col]
将生成错误。我假设您想从row=1
开始,但这只是一种推测
试试这个:
function mergeCellValuesVert() {
var spreadsheetId = '1GCJw9mwgi0n84iZ8L4MntBioM5Y1YtxhJ4zatNY1kZw';
var rangeName = 'A2:H';
var sheet = SpreadsheetApp.openById(spreadsheetId).getSheetByName('Sheet1');
var values = sheet.getRange(rangeName).getValues();
if (!values){
return;
}
else {
for (var row = 1; row < values.length; row ++){
var col = 0;
if(values[row][col] == values[row-1][col]){
Logger.log('Copy');
}
else {
Logger.log('Unique');
}
}
}
}
函数mergeCellValuesVert(){
var电子表格ID='1GCJw9mwgi0n84iZ8L4MntBioM5Y1YtxhJ4zatNY1kZw';
var rangeName='A2:H';
var sheet=SpreadsheetApp.openById(spreadsheetId.getSheetByName('Sheet1');
var values=sheet.getRange(rangeName).getValues();
如果(!值){
返回;
}
否则{
对于(变量行=1;行行=0
和列=0
,因此在这一行:
if(values[row][col] == values[row-1][col]){
您正在这样做:
if(values[0][0] == values[-1][0]) { ... }
值[-1]
返回未定义,这就是为什么会出现错误。如果要按顺序检查每一行,我建议将行初始化为1,如下所示:
for (var row = 1; row < values.length; row ++){
for(变量行=1;行
这样,您就可以从第二行开始,并且可以检查上一列,而不必获得未定义的