我需要在A1 C1表示法中获得R1 C1表示法中的范围地址。我发现没有内置配方可以做到这一点。 即 如果我通过A3:C8,那么输出应该是r1c1表示法中的3 1 8 3
function getRangeAddress() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = sheet.getActiveRange()
if (range) var rangeAddress = range.getA1Notation();
else var rangeAddress = sheet.getActiveRange().getA1Notation();
return rangeAddress;
}
converttoR1C1(rangeAddress);
答案 0 :(得分:1)
您可以使用关联数组作为查找表的排序。
var Alpha2Numeric = {A:1,B:2,C:3 ....}然后它只是反转冒号两边的字符串并将字母转换为数字与Alpha2Numeric [CapitalLetter] < / p>
答案 1 :(得分:1)
我们可以使用ADDRESS来获取R1C1地址。由于它需要行和列索引,我们可以使用ROW,COLUMN,ROWS和COLUMNS来获取相应的索引。
以下公式将返回包含公式
的单元格的R1C1地址=ADDRESS(ROW(),COLUMN(),1,FALSE)
在其他一些场景中,我们可能需要使用Google Apps脚本来获取R1C1,在此我们可以使用getRow和getColumn来获取起始单元格索引。使用getNumRows和getNumColumns并计算结束单元格的相应索引。
示例:
function toR1C1(reference) {
var range = SpreadsheetApp.getActiveSheet().getRange(reference);
var row = range.getRow();
var column = range.getColumn();
var start = 'R' + row + 'C' + column;
var rows = range.getNumRows();
var columns = range.getNumColumns();
var end = ((rows * columns) == 1)?'':':R' + (row + rows - 1) + 'C' + (column + columns - 1);
return start + end;
}