我正在迭代一张工作表中的一列,其中包含分布在几行上的合并单元格。 E.g。
|-----
row 1 | 5
|-----
row 2 |
row 3 | 3
row 4 |
|-----
row 5 |
|-----
row 6 | 1
|-----
我在这里使用合并来显示多个单元共享的单个值。
问题在于,当我尝试收集数据并且我正在使用Range.getValues()
时,只有合并范围中的第一个单元格具有非空值(在示例['5','3','','','','','1']
中) ,所以我不知道哪些单元格实际上是空的,哪些单元格属于合并范围。
我找到here的唯一解决方法是为所有颜色着色并查看单元格的颜色(但这非常难看)。
有什么好方法可以解决这个问题吗?
答案 0 :(得分:0)
另外一种可行的解决方法是设置然后获得水平对齐。
此代码:
function GetMyRange() {
var sheet = SpreadsheetApp.getActiveSheet();
var range1 = sheet.getRange("A1:A6");
range1.setHorizontalAlignment("right");
var vals = range1.getValues();
var alignment = range1.getHorizontalAlignments();
Logger.log(vals);
Logger.log(alignment);
}
给出了结果:
[[5.0], [3.0], [], [], [], [1.0]]
[[right], [right], [general], [general], [right], [right]]
从起始范围:
|-----
row 1 | 5
|-----
row 2 |
row 3 | 3
row 4 |
|-----
row 5 |
|-----
row 6 | 1
|-----
“一般”对齐的单元格将为您提供合并范围的答案。