在Google表格中,我有一列单元格,例如下面的示例,其中包含有用的数据 - 以及来自它的来源的一些垃圾。基本上我正在尝试编写一个脚本来删除“tag×”以及之后发生的任何事情。我只对保留名字感兴趣
亚当史密斯标签×制作×
bill jones tag×sales×
克里斯裤子标签×仓库×
dave watts tag×phones×
我可以在Excel中使用循环遍历列来完成此操作 Selection.Replace What:=“tag×*”,Replacement:=“”
但在我的新办公室,我们正在使用Google表格。我以为我可以用replaceText()来做这个,但是这个函数似乎只能在Document Service的文本类中使用。我查看了Spreadsheet App类但找不到任何内容。有谁知道电子表格应用程序中是否存在这种功能,或者我如何处理这种列?
答案 0 :(得分:0)
您必须使用字符串操作。
将列中的所有数据放入一个数组中,逐行迭代进行字符串缩减。 代码
function removeTags(){
var column = 1
var sh = SpreadsheetApp.getActive().getActiveSheet();
var data = sh.getRange(1,column,sh.getLastRow(),1).getValues();
for(var n in data){
if(data[n][0]==''){continue};// if cell empty then continue
var str = data[n][0].toString();
data[n][0]= str.substring(0,str.indexOf('tag'));//remove everything after "tag"
}
sh.getRange(1,column,sh.getLastRow(),1).setValues(data);// update sheet with new data
}
答案 1 :(得分:0)
不是很花哨,但假设它们都像你所展示的那样,可以用两个功能来完成。假设您的数据在A2列中,这些函数分别在b2和c2中。一个工作示例是here。
=发现( “标签×”,A2) =左(a2,b2-2)
答案 2 :(得分:0)
答案 3 :(得分:0)