如果列J中的值= *
,我需要清除列A中的单元格使用以下公式检索了在列J中找到的星号:=iferror(REGEXEXTRACT(A4, "\*"), "")
A列的内容将手动输入,例如:
0701870 Jansen,彼得·彼得(VH)(*)10:00-15:00 5:00
07908765 Predo``骨PT2(ZS)(^)09:00-14:00 5:00
0715777 Tyk,,手册PT2 09:00-14:00 5:00
基本上,我复制到包含要清除的*
或^
的列A中的每个字符串。我有一个为我执行此操作的脚本,但是这会删除整行。
function deleteRows() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('Floor 5a');
var r = s.getRange('J:J');
var v = r.getValues();
for(var i=v.length-1;i>=0;i--)
if(v[0,i]=='*')
s.deleteRow(i+1);
};
老实说,我不知道自己在做什么。脚本知识为零。我复制了类似于我的问题的粘贴解决方案,并希望它们能起作用,到目前为止,他们已经完成了,但是现在陷入了这个“问题”。现在,它将删除列A的所有内容。但是,如果J4和/或J5等中包含*
,则仅需要删除A4的内容。
function deleteRows() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var s = sheet.getSheetByName('Floor 5a');
var r = s.getRange('J:J');
var v = r.getValues();
for(var i=v.length-1;i>=0;i--)
if(v[0,i]=='*')
var rangeList = sheet.getRangeList(['A:A']);
rangeList.clearContent();
};
预先感谢
安德鲁
答案 0 :(得分:0)
在网络上的某个地方找到了另一个似乎可行的脚本:
function clean0() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getRange('J:J').getDisplayValues();
var range = [];
data.forEach(function(e, i){
if (e[0] == "*") range.push("A" + (i + 1));
});
sheet.getRangeList(range).clearContent();
}