删除 Google Sheet 中的重复值
Remove duplicate values in Google Sheet
我有 google sheet 超过 500 行并且经常更新。我喜欢做的是,如果特定列 (E) 中有重复值,我想自动删除整行 (06) 或动态提取唯一值,包括该行中的其他值,然后将其粘贴到另一个地方。例如,到另一个 sheet.
更新 1
我可以从列 (E) 中获取唯一值,但无法将其他值带入其中。我正在使用 =unique(E:E)
函数过滤唯一值,并尝试使用此函数引入其他值。 =VLOOKUP(I1,A:G,COLUMN(E:E),FALSE)
但它不起作用。
我怎么能fix/do这个?
示例 Sheet:https://docs.google.com
我想要什么...(全尺寸图片:https://i.stack.imgur.com/kn2oU.png)
我得到了什么(全尺寸图片:https://i.stack.imgur.com/7QZGU.png)
-谢谢。
文档有 Tutorial: Removing Duplicate Rows in a Spreadsheet。
本教程的目的是在您希望在 G Suite 中自动执行复制数据的过程时避免重复,特别是如何删除电子表格数据中的重复行。
此外,还有一个可以使用的工作代码。
function removeDuplicates() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
var newData = new Array();
for(i in data){
var row = data\[i\];
var duplicate = false;
for(j in newData){
if(row.join() == newData\[j\].join()){
duplicate = true;
}
}
if(!duplicate){
newData.push(row);
}
}
sheet.clearContents();
sheet.getRange(1, 1, newData.length, newData\[0\].length).setValues(newData);
}
其他开发者测试过的实时示例,您可以参考this Stack exchange post。
VLOOKUP 的正确语法(在找到唯一值之后)将是:
=ARRAYFORMULA(IFERROR(VLOOKUP(I:I,{E:E,A:G},COLUMN(A:G)+1,0)))
- 第 I 列将包含使用 UNIQUE 公式的 UNIQUE 值
- 范围内的第一列应该是 E:E。因此,使用 {E:E,A:G}
创建的新数组
- INDEX 也应该是一个数组。使用 COLUMN 创建一系列 {1,2,3...}
或者,您可以使用过滤器:
=FILTER(A:G,MATCH(E:E,E:E,0)=ROW(E:E))
我有 google sheet 超过 500 行并且经常更新。我喜欢做的是,如果特定列 (E) 中有重复值,我想自动删除整行 (06) 或动态提取唯一值,包括该行中的其他值,然后将其粘贴到另一个地方。例如,到另一个 sheet.
更新 1
我可以从列 (E) 中获取唯一值,但无法将其他值带入其中。我正在使用 =unique(E:E)
函数过滤唯一值,并尝试使用此函数引入其他值。 =VLOOKUP(I1,A:G,COLUMN(E:E),FALSE)
但它不起作用。
我怎么能fix/do这个?
示例 Sheet:https://docs.google.com
我想要什么...(全尺寸图片:https://i.stack.imgur.com/kn2oU.png)
我得到了什么(全尺寸图片:https://i.stack.imgur.com/7QZGU.png)
-谢谢。
文档有 Tutorial: Removing Duplicate Rows in a Spreadsheet。
本教程的目的是在您希望在 G Suite 中自动执行复制数据的过程时避免重复,特别是如何删除电子表格数据中的重复行。
此外,还有一个可以使用的工作代码。
function removeDuplicates() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
var newData = new Array();
for(i in data){
var row = data\[i\];
var duplicate = false;
for(j in newData){
if(row.join() == newData\[j\].join()){
duplicate = true;
}
}
if(!duplicate){
newData.push(row);
}
}
sheet.clearContents();
sheet.getRange(1, 1, newData.length, newData\[0\].length).setValues(newData);
}
其他开发者测试过的实时示例,您可以参考this Stack exchange post。
VLOOKUP 的正确语法(在找到唯一值之后)将是:
=ARRAYFORMULA(IFERROR(VLOOKUP(I:I,{E:E,A:G},COLUMN(A:G)+1,0)))
- 第 I 列将包含使用 UNIQUE 公式的 UNIQUE 值
- 范围内的第一列应该是 E:E。因此,使用 {E:E,A:G} 创建的新数组
- INDEX 也应该是一个数组。使用 COLUMN 创建一系列 {1,2,3...}
或者,您可以使用过滤器:
=FILTER(A:G,MATCH(E:E,E:E,0)=ROW(E:E))