如何根据条件将单元格从一个工作表复制到另一个工作表而不会收到错误"异常:您没有调用 setValues 的权限"



我正试图根据条件和单元格值将某些行值从Sheet1复制到Sheet2,其中某些行仅在[Qualification] = 'Qualified'时复制,如果[No of positions] = 1,则复制一次值,如果[No of positions] = 2,则复制两次值。

下面是一个例子。

第1张

领导类型
外部 非洲 基地 外部

自定义函数最好通过公式参数获取其值。它们返回的值被放置在公式单元格中,并从那里向下和向右。

你可以将你的函数转换为一个合适的自定义函数,如下所示:

/**
* Filters rows by matching the sixth column against criterion, and repeats
* each matching row as many times as specified in the fifth column.
*
* @param {Sheet1!A2:F} values The rows to filter and repeat.
* @param {"Qualified"} criterion The value to match to the sixth column in values.
* @return {Object[][]} The processed values.
* @customfunction
*/
function RepeatMatching(values, criterion = 'Qualified') {
return values.flatMap(([, b, c, , e, f]) =>
e > 0 && f == criterion ? [...Array(e)].fill([b, c, f]) : []
);
}

要测试该功能,请选择插入>表,并将此公式放入新表的单元格A2中:

=RepeatMatching(Sheet1!A1:F, "Qualified")

最新更新