这是我的问题:
我在Google Script上创建了这个功能:
function LASTCOLELEMENT(colIndex) {
// Gets the whole SpreadSheet
var ss = SpreadsheetApp.getActiveSpreadsheet();
var registerSheet = ss.getSheetByName("Registro de Inventario");
// Returns the last element of the colIndex column
return registerSheet.getRange(registerSheet.getLastRow(), colIndex).getValue()
}
我在电子表格中将其称为:
=LASTCOLELEMENT(1)
输出是正确的,它给了我想要的东西,但只要我添加一行到#34; Registro de inventario"表格," = LASTCOLELEMENT(1)"仍然显示之前显示的内容,因为它还没有被再次调用。
如果我删除" = LASTCOLELEMENT(1)"并再次重写它显示最后一个元素。
我已经考虑了一段时间,我不知道如何解决这个问题。
答案 0 :(得分:0)
Google表格会缓存结果,因此无法调用您的函数并且不会刷新数据,因为公式参数(1)
不会更改,因此Google会推断结果不会更改;虽然正在使用的数据确实发生了变化,但这超出了谷歌表的检查范围。
您可能会习惯(或教育您的用户)进行手动刷新(使用Ctrl-R)
或者用技巧强制重新加载数据。将未使用的参数添加到函数function lastColVal(colindex,fakecell)
,并将引用传递给单元格=LASTCOLVAL(1,$A$1)
。虽然你的功能没有使用这个值,但它的存在只会使google工作表刷新数据。然后,要在每次添加行时强制刷新,请更改A1单元格的值,例如,使用COUNT个非空单元格。