我有一个附有一些脚本的谷歌表。有一个 onOpen() 函数可以在 UI 中创建一个菜单,该菜单是可以排序的列列表。通过选择菜单项调用的各个排序功能是以下脚本的变体(对不同的列进行排序)。
问题:在工作表上,函数返回“#ERROR!” 当单击包含函数的单元格时,只需按 Enter 键,该单元格就会神奇地自行修复并完全按照应有的方式显示正确的范围。
我不知道是公式有问题,还是脚本有问题。目前关于可能是什么问题的想法是:与公式引用另一张纸这一事实有关。关于从哪里开始或为什么会出现初始错误(在重新计算单元后显然不会保留)的任何想法?
function sortJoindate() {
var sortvar = "Join Date";
var sheet = SpreadsheetApp.getActiveSheet();
var currentSort = sheet.getRange("A2").getValue();
var pmdata = sheet.getRange("A3");
if (currentSort == "SORTED BY " + sortvar + " ASC") {
sheet.getRange("A2").setValue("SORTED BY Join Date DESC");
pmdata.setValue("=QUERY(MemberData!A:J,\"select A,D,E,F,C,H,B where J = '\" & A1 & \"' order by A DESC \"");
} else {
sheet.getRange("A2").setValue("SORTED BY " + sortvar + " ASC");
pmdata.setValue("=QUERY(MemberData!A:J,\"select A,D,E,F,C,H,B where J = '\" & A1 & \"' order by A ASC \"");
}
SpreadsheetApp.flush();
}