【发布时间】:2020-12-31 17:40:20
【问题描述】:
这是来自the previous post 的后续问题。基本上我想在第一行使用getNotes 自动填充整个列,类似于ArrayFormula。之前的海报已经提供了这个功能:
function getNotes(rng){
const ss = SpreadsheetApp.getActive().getActiveSheet();
const index = ss.getMaxRows()-ss.getRange(rng).getNotes().flat().reverse().findIndex(v=>v!='');
const range = ss.getRange(rng+index);
return range.getNotes();
}
然后使用
getNotes("B1:B")
用 B 列中的相应注释填充列单元格。但问题是对列进行任何排序都不会动态更改这些注释的位置;该函数仍会记住先前排序的位置。此函数还需要在自动添加新行时动态地向单元格添加注释,并且基于它无法正确自动填充的方式,它也不会这样做。基本上,该函数只运行一次来填充,然后我必须再次手动运行该函数以使其重新填充到正确的位置。对此的帮助将不胜感激。
作为旁注,我还想用公式标记这个单元格。我试过了
IF(ROW(A:A)=1,"Label",getNotes("B1:B"))
查看它是否会类似于 ArrayFormula 并获取第一行作为标签,并将该函数用于列中的所有行,但它似乎不起作用。
【问题讨论】:
-
为了帮助我们进行可视化,您能否提供一个示例表来显示您的数据和预期输出?
-
我添加了一张 sn-p 表 here,如果您想尝试一下以了解我的问题。非常感谢您的支持。
标签: google-apps-script google-sheets