Note: The other languages of the website are Google-translated. Back to English

如何删除Google表格中某列中包含特定文本的所有行?

假设您在Google工作表中有一系列数据,现在,您想根据列中的单元格值删除行。 例如,我想删除Colum C中所有包含“ Complete”文本的行。本文将讨论如何在Google表格中解决该问题。

使用脚本代码删除一列中包含特定文本的所有行


使用脚本代码删除一列中包含特定文本的所有行

要删除列中包含特定文本的所有行,请执行以下脚本代码,具体操作如下:

1。 点击 鑫安工具 > 脚本编辑器,请参见屏幕截图:

doc删除包含1的行

2。 在新打开的代码窗口中,将以下代码复制并粘贴到空白代码窗口中,请参见屏幕截图:

function deleteRows() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = ss.getSheetByName('delete containing');
  var r = s.getRange('C:C');
  var v = r.getValues();
  for(var i=v.length-1;i>=0;i--)
    if(v[0,i]=='Complete')
      s.deleteRow(i+1);
};

doc删除包含2的行

备注:在上面的代码中,“删除包含“是包含您要删除的数据的工作表名称,”C:C”是您要从中删除特定文字的列,“完成:”是您要基于其删除行的特定文本,请根据需要更改它们。

3。 然后保存此代码,然后单击 运行 代码窗口中的按钮执行此脚本代码,请参见屏幕截图:

doc删除包含3的行

4。 并且包含特定文本“ Complete”的所有行都被立即删除,请参见屏幕截图:

doc删除包含4的行


删除Excel工作表中包含特定文本的所有行:

如果您要删除列中包含特定值的所有行,则 Kutools for Excel's 选择特定的单元格 功能可以帮助您选择符合条件的所有行,然后只需要立即删除这些行。

doc删除包含5的行

Kutools for Excel:具有300多个方便的Excel加载项,可以在30天内免费试用,没有任何限制。 立即下载并免费试用!


最佳办公效率工具

Kutools for Excel解决了您的大多数问题,并使您的生产率提高了80%

  • 重用: 快速插入 复杂的公式,图表 以及您以前使用过的任何东西; 加密单元 带密码 创建邮件列表 并发送电子邮件...
  • 超级公式栏 (轻松编辑多行文本和公式); 阅读版式 (轻松读取和编辑大量单元格); 粘贴到过滤范围...
  • 合并单元格/行/列 不会丢失数据; 拆分单元格内容; 合并重复的行/列...防止细胞重复; 比较范围...
  • 选择重复或唯一 行; 选择空白行 (所有单元格都是空的); 超级查找和模糊查找 在许多工作簿中; 随机选择...
  • 确切的副本 多个单元格,无需更改公式参考; 自动创建参考 到多张纸; 插入项目符号,复选框等...
  • 提取文字,添加文本,按位置删除, 删除空间; 创建和打印分页小计; 在单元格内容和注释之间转换...
  • 超级滤镜 (将过滤方案保存并应用于其他工作表); 高级排序 按月/周/日,频率及更多; 特殊过滤器 用粗体,斜体...
  • 结合工作簿和工作表; 根据关键列合并表; 将数据分割成多个工作表; 批量转换xls,xlsx和PDF...
  • 超过300种强大功能。 支持Office / Excel 2007-2019和365。支持所有语言。 在您的企业或组织中轻松部署。 完整功能30天免费试用。 60天退款保证。
kte选项卡201905

Office选项卡为Office带来了选项卡式界面,使您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!
officetab底部
按评论排序
注释 (14)
还没有评分。 成为第一位评论!
该评论由网站上的主持人最小化
什么都不做,不知道怎么解决。
该评论由网站上的主持人最小化
你好,
我可以修改以下代码以删除彩色单元格而不是特定文本:


函数删除行(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('删除包含');
var r = s.getRange('C:C');
var v = r.getValues();
for(var i=v.length-1;i>=0;i--)
if(v[0,i]=='完成')
s.deleteRow(i+1);
};
该评论由网站上的主持人最小化
你好,
可以修改以下代码以删除彩色行而不是文本


函数删除行(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('删除包含');
var r = s.getRange('C:C');
var v = r.getValues();
for(var i=v.length-1;i>=0;i--)
if(v[0,i]=='完成')
s.deleteRow(i+1);
};
该评论由网站上的主持人最小化
这似乎仅在单元格仅包含指定文本时才有效。 我想删除包含其他文本(包括特定文本)的单元格的行。 我有一堆电子邮件地址,想删除包含 Gmail 地址的行,因此我正在寻找包含“gmail.com”的单元格。

这里没有运气。
该评论由网站上的主持人最小化
替换这一行: if(v[0,i]=='Complete')
有了这个: if(v[0,i].indexOf('gmail') > -1)
该评论由网站上的主持人最小化
我试过了。 它仍然无法正常工作。
该评论由网站上的主持人最小化
对我也不起作用。
该评论由网站上的主持人最小化
为什么在 v[0,i] 中使用逗号运算符?
该评论由网站上的主持人最小化
想通了,但是由于它超过了最大运行时间,因此无法使其适用于更大的纸张。 基本上,为“v”返回的数据是一个“对象”类型,因此您必须首先对其进行 JSON.stringify() 以检测值。
函数删除行(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('用工作表名称替换');
var r = s.getRange('C:C'); // 将 'C:C' 替换为要替换的列,如 start:end
var v = r.getValues();
for(var i=v.length-1;i>=0;i--) {
if(JSON.stringify(v[i]).includes('用你想替换的字符替换')) {
s.deleteRow(i+1);
}
}
};
该评论由网站上的主持人最小化
我使用以下方法为自己解决了这个问题。
它不起作用的原因是因为 v 返回一个只有一项 [0] 的数组
我还使用了 Javascript .includes() 以便您可以删除“包含”该文本的记录。


函数删除行(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('default');
var r = s.getRange('A:A');
var v = r.getValues();
for(var i=v.length-1;i>=1;i--)
if(v[i][0].includes("appleid.com")) {
console.log('删除的行' + v[i][0]);
s.deleteRow(i+1);
}
};
该评论由网站上的主持人最小化
干得好,工作无缝。
该评论由网站上的主持人最小化
我怎样才能使它更通用?

假设我在 Sheet1 中创建了一个列入黑名单的单词列表,我想删除 Sheet2 中包含 A 列中该单词的所有行。我在 Google Sheets 上完全被困住了
该评论由网站上的主持人最小化
这有什么好运气??
该评论由网站上的主持人最小化
Bonjour, j'aime beaucoup ce 脚本。 Moi je cherche un script qui permet de supprimer automatiquement tous les éléments ou contenus d'une colne après chaque 1 分钟。 Pas supprimer la Colonne, mais le contenu de la Colonne。 Pouvez vous m'aider ?
这里还没有评论
留下你的意见
以访客身份发帖
×
评价此帖子:
0   产品特性
建议地点