Google apps script 谷歌应用程序脚本-删除谷歌工作表中的部分文本
所以我在谷歌电子表格中有一个值列表Google apps script 谷歌应用程序脚本-删除谷歌工作表中的部分文本,google-apps-script,google-sheets,Google Apps Script,Google Sheets,所以我在谷歌电子表格中有一个值列表 Color Red Color Blue Color Green 作为纯文本。是否可以通过谷歌应用程序脚本编辑所有这些单元格以删除“颜色”?我想公式解决方案会更简单: =替换(A1,“颜色”和“”) 但是如果你想用新的值覆盖这些值,那么我想谷歌应用程序脚本是唯一的选择: function myFunction() { const ss = SpreadsheetApp.getActive(); const sh = ss.getSheetByName
Color Red
Color Blue
Color Green
作为纯文本。是否可以通过谷歌应用程序脚本编辑所有这些单元格以删除
“颜色”
?我想公式解决方案会更简单:
=替换(A1,“颜色”和“”)
但是如果你想用新的值覆盖这些值,那么我想谷歌应用程序脚本是唯一的选择:
function myFunction() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName(`Sheet1`);
const values = sh.getRange(`A1:A${sh.getLastRow()}`).getValues().flat();
const new_values = values.map(v=>[v.replace(`Color `,``)]);
sh.getRange(1,1,new_values.length,1).setValues(new_values);
}
别忘了更改工作表的名称。在我的例子中,它是Sheet1
,并根据您的需要调整范围。在我的示例中,我从A列和第一个单元格开始,直到最后一行包含内容,然后覆盖相同的列。您也可以使用此选项,作为已提供解决方案的替代方案:
函数myColor(){
让电子表格=SpreadsheetApp.getActive();
let sheet=spreadsheet.getActiveSheet();
设VAL=sheet.getRange(“行”、“列”、“行中无行”,1).getValues()
让regEx=newregexp(/^[^\s]+/);
for(设i=0;i
上述解决方案使用正则表达式来检查每个单元格的第一个字是否为“颜色”,如果条件检查,则使用split
和slice
方法将其删除
为了检索值,使用了getRange()
方法来获取范围,然后使用getValues()
来获取值
参考文献
- )
- )
function myColor() {
let spreadsheet = SpreadsheetApp.getActive();
let sheet = spreadsheet.getActiveSheet();
let vals = sheet.getRange("ROW", "COLUMN", "NO_OF_ROWS", 1).getValues()
let regEx = new RegExp(/^[^\s]+/);
for (let i = 0; i < vals.length; i++)
if (regEx.exec(vals[i][0])[0] === "Color")
sheet.getRange(i + 1, 1).setValue(vals[i][0].split(' ').slice(1));
}