gpt4 book ai didi

google-apps-script - 如何在 getRowGroup 中获取组 rowIndex

转载 作者:行者123 更新时间:2023-12-02 02:47:40 25 4
gpt4 key购买 nike

我正在处理工作表中的分组行。我有几个小组,我想使用 Google Apps 脚本了解每个小组的主题。

我研究过Class Sheet doc并找到了方法

getRowGroup(rowIndex, groupDepth)



但我仍然不知道如何从工作表接收 rowIndex。组的数量也可以更改,我不知道如何获取每个组的主题,无论是扩展还是折叠。

先感谢您。

最佳答案

如果我理解您的问题,您希望确定可能位于行组中的任何给定行的“主题”。我设置了一个这样的示例表:

enter image description here

因此,如果您想知道 cell(3,1) “Pinot Noir”中某个值的“主题”,您需要从第 1 行返回值“Reds”。

基本上,rowIndex是工作表中的任何行。但我相信您正在寻找控件所在的行。为了找到该行,我创建了一个函数:

function findGroupRowIndex(sheet, thisRow) {
//--- if the given row is a part of a Group, then it will return the
// rowIndex (the row with the control) of the group, otherwise it
// returns 0
try {
var rowGroup = sheet.getRowGroup(thisRow, 1);
var groupDepth = sheet.getRowGroupDepth(thisRow);
var index = rowGroup.getControlIndex();
return index;
} catch (e) {
//--- this row is not part of a group
return 0;
}
}

该函数的重要部分是确保在给定行不是 rowGroup 的一部分时捕获任何抛出的异常。 .

我带有调用函数的整个代码模块是:
function myFunction() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
Logger.log(sheet.getName());

var lookAtRow = 3;
var topicRow = findGroupRowIndex(sheet,lookAtRow);
if (topicRow != 0) {
Logger.log('topic for group on row ' + lookAtRow + ' is ' +
sheet.getRange(topicRow,1).getValue());
} else {
Logger.log('no topic exists for row ' + lookAtRow);
}
}

function findGroupRowIndex(sheet, thisRow) {
//--- if the given row is a part of a Group, then it will return the
// rowIndex (the row with the control) of the group, otherwise it
// returns 0
try {
var rowGroup = sheet.getRowGroup(thisRow, 1);
var groupDepth = sheet.getRowGroupDepth(thisRow);
var index = rowGroup.getControlIndex();
return index;
} catch (e) {
//--- this row is not part of a group
return 0;
}
}

关于google-apps-script - 如何在 getRowGroup 中获取组 rowIndex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53656949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com