根据行中单元格中包含的值删除 google 电子表格中的行
Delete a row in google spreadsheet based on value contained in a cell in row
所以这是一个以前被问过的问题,稍微不同:我需要删除 google sheet 中基于该行中单元格中包含的值的行.
问题是我发现以前的答案只允许我在值准确的情况下执行此操作。我有一个 LET AGREED 短语,它偶尔会出现,但它也与单元格中的其他文本一起出现。我想删除所有出现 LET AGREED 短语的行。
我找到的两个非常接近的解决方案:
Delete a row in google spreadsheet base on value of cell in row
Delete a row in google spreadsheet base on contents of cell in row
感谢任何帮助,我对 Google 脚本不是很好!
我假设您希望在编辑某些内容时发生这种情况? .search() 方法可以调用字符串来查看是否存在子字符串。如果是,它 returns 找到它的位置的索引。如果没有找到,则returns-1.
这是一个 onEdit 触发器,它会在您 sheet 上的任何内容发生更改时被调用。因此,一旦文本 "LET AGREED" 保存在单元格中,该行就会消失。
此外,如果您要复制并粘贴到此 sheet 一系列数据中,其中单词 "LET AGREED" 将出现在许多行中,它将能够处理删除所有这些行.
function onEdit(e) {
var ss = e.source;
var sheet = ss.getSheets()[0];
var range = sheet.getDataRange();
var values = range.getValues();
var rows_deleted = 0;
for (var i = 0; i < values.length; i++) {
for (var j = 0; j < values[i].length; j++) {
var value = values[i][j];
//row numbers are 1-based, not zero-based like this for-loop, so we add one AND...
//every time we delete a row, all of the rows move down one, so we will subtract this count
var row = i + 1 - rows_deleted;
//if the type is a number, we don't need to look
if (typeof value === 'string') {
var result = value.search("LET AGREED");
//the .search() method returns the index of the substring, or -1 if it is not found
//we only care if it is found, so test for not -1
if (result !== -1) {
sheet.deleteRow(row);
rows_deleted++;
}
}
}
}
};
所以这是一个以前被问过的问题,稍微不同:我需要删除 google sheet 中基于该行中单元格中包含的值的行.
问题是我发现以前的答案只允许我在值准确的情况下执行此操作。我有一个 LET AGREED 短语,它偶尔会出现,但它也与单元格中的其他文本一起出现。我想删除所有出现 LET AGREED 短语的行。
我找到的两个非常接近的解决方案:
Delete a row in google spreadsheet base on value of cell in row
Delete a row in google spreadsheet base on contents of cell in row
感谢任何帮助,我对 Google 脚本不是很好!
我假设您希望在编辑某些内容时发生这种情况? .search() 方法可以调用字符串来查看是否存在子字符串。如果是,它 returns 找到它的位置的索引。如果没有找到,则returns-1.
这是一个 onEdit 触发器,它会在您 sheet 上的任何内容发生更改时被调用。因此,一旦文本 "LET AGREED" 保存在单元格中,该行就会消失。
此外,如果您要复制并粘贴到此 sheet 一系列数据中,其中单词 "LET AGREED" 将出现在许多行中,它将能够处理删除所有这些行.
function onEdit(e) {
var ss = e.source;
var sheet = ss.getSheets()[0];
var range = sheet.getDataRange();
var values = range.getValues();
var rows_deleted = 0;
for (var i = 0; i < values.length; i++) {
for (var j = 0; j < values[i].length; j++) {
var value = values[i][j];
//row numbers are 1-based, not zero-based like this for-loop, so we add one AND...
//every time we delete a row, all of the rows move down one, so we will subtract this count
var row = i + 1 - rows_deleted;
//if the type is a number, we don't need to look
if (typeof value === 'string') {
var result = value.search("LET AGREED");
//the .search() method returns the index of the substring, or -1 if it is not found
//we only care if it is found, so test for not -1
if (result !== -1) {
sheet.deleteRow(row);
rows_deleted++;
}
}
}
}
};