在Google表格中,我有一个名称列表
+-------+
| Name |
+-------+
| name1 |
| name2 |
| name3 |
+-------+
然后我有一份出席名单
+-------+
| Name |
+-------+
| name1 |
| name3 |
+-------+
我想生成一个没有参加活动的列表
+-------+
| Name |
+-------+
| name2 |
+-------+
如何生成最后一张桌子?提前致谢
编辑:由于Google表格支持查询。所以最好添加SQL标记。
答案 0 :(得分:3)
=FILTER(A2:A,ISNA(VLOOKUP(A2:A,B2:B,1,0)),A2:A)
答案 1 :(得分:0)
答案 2 :(得分:0)
要生成您所描述的值,您可能希望自己创建一个脚本Tools -> Script editor
。
脚本:
function myFunction() {
var sheet = SpreadsheetApp.getActiveSheet();
var values = sheet.getDataRange().getValues();
var sourceColumnIndex = 0;
var compareColumnIndex = 1;
var setColumnIndex = 2;
var currentSetRow = 1;
for(var i=1; i<values.length; i++) {
var sourceCell = values[i][sourceColumnIndex];
var sameValues = false;
for(var j=1; j<values.length; j++) {
var compareCell = values[j][compareColumnIndex];
if(sourceCell == compareCell) {
Logger.log("\"" + sourceCell + "\"(" + i + "/" + sourceColumnIndex + ") == \"" + compareCell + "(" + j + "/" + compareColumnIndex + ")\" => true.");
sameValues = true;
break;
} else {
Logger.log("\"" + sourceCell + "\"(" + i + "/" + sourceColumnIndex + ") == \"" + compareCell + "(" + j + "/" + compareColumnIndex + ")\" => false.");
}
}
if(sameValues == false) {
sheet.getRange(currentSetRow + 1, setColumnIndex + 1).setValue(sourceCell);
currentSetRow++;
}
}
}
运行脚本前的结果:
运行脚本后的结果: