Google Sheets:如何将列数整数转换为列字母以构建新范围?
整数列号转列字母的解决方案
核心转换函数
要把整数列号转换成Google Sheets/Excel的列字母格式,用这个函数就能搞定:
function columnToLetter(column) { let letter = ''; while (column > 0) { const remainder = (column - 1) % 26; letter = String.fromCharCode(65 + remainder) + letter; column = Math.floor((column - 1) / 26); } return letter; }
这个函数会处理所有情况:1→A,26→Z,27→AA,100→CV,以此类推。
结合你的代码修改
把转换函数加入你的代码,每次循环时将累加的current(整数列号)转成列字母currentc,替换原来的变量即可:
// 先定义转换函数 function columnToLetter(column) { let letter = ''; while (column > 0) { const remainder = (column - 1) % 26; letter = String.fromCharCode(65 + remainder) + letter; column = Math.floor((column - 1) / 26); } return letter; } // 你的循环逻辑修改后 let current = 1; // 初始列号,根据你的需求调整(1对应A列) for (var i = 0; i < string.length; i++) { var fromL = dataLetters.getRange(dataL[string.charAt(i)]) const currentc = columnToLetter(current); // 整数转列字母 var to = dataWriting.getRange(`${currentc}2:${currentc}11`) fromL.copyTo(to, SpreadsheetApp.CopyPasteType.PASTE_FORMAT,false) current += fromL.getNumColumns() }
注意事项
- 确保
current的初始值正确:如果要从A列开始,初始值设为1;从B列开始设为2,以此类推。 - 函数会自动处理多字母列(比如AA、AB),不需要额外判断。
内容的提问来源于stack exchange,提问作者Jameson Kranz
相关产品推荐
相关产品推荐

