如何在Google Sheets自定义函数中获取调用单元格行并检查该行值?
Google Sheets 宏获取调用函数单元格所在行并检查指定区域
当然可行,你可以通过SpreadsheetApp.getActiveRange()获取当前调用函数的单元格,进而拿到它所在的行号,再定位到该行的指定区域进行值检查。
修改后的代码如下,替换了固定行号为动态获取的行号,同时优化了工作表和区域的获取方式:
var ss = SpreadsheetApp.getActiveSpreadsheet(); // 获取当前函数所在的工作表(无需固定指定第二个表) var sheet = SpreadsheetApp.getActiveSheet(); // 获取调用函数的单元格所在行号 var w_row = SpreadsheetApp.getActiveRange().getRow(); // 定位该行AH到AO列的区域(AH是第34列,AO是第43列,共10列) var rng = sheet.getRange(w_row, 34, 1, 10); console.log('sheet : ' + sheet.getName()); console.log('values : ' + rng.getValues()); console.log('row : ' + rng.getRow());
关键说明:
SpreadsheetApp.getActiveSheet():自动匹配函数所在的工作表,避免固定索引getSheets()[1]在工作表顺序变动时出错SpreadsheetApp.getActiveRange().getRow():精准获取触发函数的单元格所在行,无需手动传入区域- 使用
getRange(row, column, numRows, numColumns)的索引方式比字符串拼接更稳定,避免列名拼写错误或格式问题
内容的提问来源于stack exchange,提问作者Vincent
相关产品推荐
相关产品推荐

