如何修改Google Apps Script实现动态日期列以逗号加空格分隔拼接
调整后可直接运行的代码
function message() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getActiveSheet(); var lr = sheet.getLastRow(); var lc = sheet.getLastColumn(); // 取第5列及之后的所有日期列数据 var rangeValue = sheet.getRange(2, 5, lr - 1, lc - 4).getValues(); for (var i = 0; i < rangeValue.length; i++) { // 过滤空值后用逗号加空格拼接 var catValues = rangeValue[i].filter(Boolean).join(', '); sheet.getRange(i + 2, lc).setValue(catValues); } }
核心修改点
- 替换拼接逻辑:删除原代码中逐单元格加空格的写法,改用
join(', ')方法直接将分隔符设置为逗号加空格,完全匹配需求的拼接效果 - 新增空值过滤:通过
filter(Boolean)自动跳过空的日期单元格,避免日期列为空时生成多余的逗号,比如Jane Doe的行仅会输出10/28/2021,不会出现多余符号 - 修正取值范围错误:原代码从第5列开始取
lc列会超出表格实际边界,调整为取lc - 4列(前4列为学生ID、名字、姓氏、课时,其余均为日期列) - 解决原代码末尾多余分隔符的问题:原逻辑会在最后一个日期后多一个空格,修改后无多余残留字符
内容的提问来源于stack exchange,提问作者Chris Leatherwood
相关产品推荐
相关产品推荐

