如何修改Google Sheets脚本仅移动单元格值而非公式?
修改Google Apps Script实现仅移动值到C列
原来的moveTo方法会把单元格的公式和格式一并移动,要只复制值,你需要改成获取单元格的值再写入目标列的逻辑,修改后的脚本如下:
function MakeEndingStarting() { // 获取当前活跃工作表 var sheet = SpreadsheetApp.getActiveSheet(); // 获取I列(第9列)从第2行开始的有效数据范围 var sourceRange = sheet.getRange(2, 9, sheet.getLastRow() - 1, 1); // 提取该范围的纯数值(忽略公式) var values = sourceRange.getValues(); // 将数值写入C列(第3列)从第2行开始的位置 var targetRange = sheet.getRange(2, 3, values.length, 1); targetRange.setValues(values); // 可选:如果需要清空I列的内容,取消下面这行注释 // sourceRange.clearContent(); }
关键改动说明:
- 用
getValues()替代直接移动范围:这个方法会读取单元格计算后的最终数值,完全忽略底层公式 - 用
setValues()把数值写入目标列:只写入纯文本/数值,不会带入任何公式或格式 - 可选的清空步骤:如果移动后不需要保留I列的内容,可以启用最后一行的
clearContent()
内容的提问来源于stack exchange,提问作者Tillthen BigHeart
相关产品推荐
相关产品推荐

