Google Sheets脚本如何替换单元格显示值"Check Me"且不删除原有公式
问题原因
你原脚本的逻辑是直接读取F5:F700所有单元格的显示值,做替换后全量覆写回整个范围,所有原本带公式的单元格都会被替换为静态值,这是公式丢失的核心原因,和公式本身包含"Check Me"字符无关。
修复后可直接使用的脚本
function replaceCheckMeToV() { const sheet = SpreadsheetApp.getActiveSheet(); const checkRange = sheet.getRange("F5:F700"); // 读取范围内所有单元格的实际显示内容 const displayValues = checkRange.getDisplayValues(); // 逐行判断,仅修改显示值为"Check Me"的单元格 for (let i = 0; i < displayValues.length; i++) { if (displayValues[i][0] === "Check Me") { // 定位到对应单元格写入V,i+5是因为范围从第5行开始计数 sheet.getRange(i + 5, 6).setValue("V"); } } }
使用说明
替换你原来的Test函数代码,将这个新函数绑定到你已插入的按钮上即可。脚本只会修改当前显示为Check Me的单元格,其余所有单元格(包含带公式的、已标记V的、空白单元格)都不会被改动,不会丢失原有公式。
内容的提问来源于stack exchange,提问作者ConceitedNewbie
相关产品推荐
相关产品推荐

