谷歌表格宏添加公式问题:适配任意单元格与动态列范围
解决Google Sheets宏的两个问题
修改后的宏代码
function addpricemultiplier() { var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var sheet = spreadsheet.getActiveSheet(); // 获取H列从第5行到最后一行的动态范围 var lastRow = sheet.getLastRow(); if (lastRow < 5) return; // 数据行不足5行时直接退出 var targetRange = sheet.getRange(5, 8, lastRow - 4, 1); // 批量设置公式,覆盖所有目标单元格原有内容 targetRange.setFormula('=0.3*GOOGLEFINANCE("CURRENCY:USDAUD")'); }
问题解决说明
覆盖所有单元格原有内容:
原代码仅给当前激活的单个单元格设置公式,且受录制场景限制只处理值为=0.3的单元格。修改后通过targetRange.setFormula()直接给整个目标范围批量应用公式,无论单元格原有值是什么,都会被新公式替换。动态适配表格实际行数:
用sheet.getLastRow()获取工作表最后一行有数据的行号,以此构建从H5到最后一行的动态范围,无需预先固定行数。加入的if (lastRow < 5)判断,能避免数据行不足5行时出现范围错误。
内容的提问来源于stack exchange,提问作者Jesse
相关产品推荐
相关产品推荐

