Google Apps Script:按条件将单元格值及A1标记存入字典
解决方案
要实现需求,你需要在满足条件的代码块中完成两个核心操作:计算当前单元格的A1标记,以及将键值对存入字典。以下是补充完整的代码:
var concat_rows = {}; var p_rows = P_details.getRange("D5:D").getValues(); for (var h in p_rows) { var cellValue = p_rows[h][0]; // 先检查值是否为字符串,避免空单元格或非字符串值报错 if (typeof cellValue === 'string' && cellValue.split('-').length === 3) { // 计算对应行号:D5是数组第0项,所以行号为5 + 索引数值 var rowNumber = 5 + parseInt(h); // 构造A1标记并存入字典 concat_rows[cellValue] = "D" + rowNumber; } }
关键说明:
- 行号计算:由于
getRange("D5:D")返回的数组从D5开始,数组索引h(字符串类型)需要转为整数后加上5,才能得到工作表中的实际行号。 - 类型检查:增加
typeof cellValue === 'string'判断,避免空单元格或非字符串值调用split()方法导致报错。 - 字典赋值:直接使用单元格值作为键,构造好的A1标记作为值存入
concat_rows对象。
测试后,该代码会生成你期望格式的字典,例如:
{ "a-b-c": "D5", "d-e-f": "D11" }
内容的提问来源于stack exchange,提问作者Shaik Naveed
相关产品推荐
相关产品推荐

