我的google工作表有超过500行且经常更新。我喜欢做的是,如果特定列(E)中有重复值,我想自动删除整行(06)或动态提取唯一值,包括该行中的其他值,然后将其粘贴到另一行地点。例如,到另一张表。
更新1
我可以从列(E)中获取唯一值,但是我无法使用其他值。我正在使用=unique(E:E)
函数过滤唯一值,我正在尝试使用此函数来引入其他值。 =VLOOKUP(I1,A:G,COLUMN(E:E),FALSE)
但它没有用。
我该如何解决/做到这一点?
样本表:https://docs.google.com
我想要的......(全尺寸图片:https://i.stack.imgur.com/kn2oU.png)
我得到了什么(全尺寸图片:https://i.stack.imgur.com/7QZGU.png)
- 谢谢你。
答案 0 :(得分:2)
文档有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。
答案 1 :(得分:2)
VLOOKUP的正确语法(在找到唯一值之后)将是:
=ARRAYFORMULA(IFERROR(VLOOKUP(I:I,{E:E,A:G},COLUMN(A:G)+1,0)))
或者,您可以使用FILTER:
=FILTER(A:G,MATCH(E:E,E:E,0)=ROW(E:E))