作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要在给定 A1 表示法的情况下获取 R1 C1 表示法的范围地址。我发现没有内置公式可以做到这一点。IE。如果我通过 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);
最佳答案
我们可以使用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;
}
关于google-apps-script - 使用 GAS 从 Google 电子表格中的 A1 表示法获取 R1C1 表示法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43226886/
我是一名优秀的程序员,十分优秀!