我对google工作表中的脚本编写相对较新,并且我正在尝试编写可以分配给按钮的内容,以便按该表中的第5列对表进行排序.我使用下面的代码:
function sort() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("items");
var range = sheet.getRange("J2:O13");
range.sort(5);
}
Run Code Online (Sandbox Code Playgroud)
但是,当我将其分配给按钮并单击按钮时,我收到错误消息"单元格引用超出范围".这可能是一个愚蠢的问题,但感谢提前的任何帮助.
我在板球数据库中有一个简单的表格,它记录了每个球员在一场比赛中的得分。这些字段是:球员的姓名,他们在特定比赛中的得分,无论他们在比赛结束时“出局”还是“未出局”。显然,玩家在表中出现的次数与他们参加过的比赛一样多
我想运行一个查询,为我提供每个玩家的平均“运行”。在板球中,这是通过将他们的总跑步次数除以他们“出局”的次数来完成的,我一直在尝试的代码是这样的:
SELECT name,
SUM(runs)/COUNT(CASE WHEN playerout = 'out' THEN name END)
FROM players
GROUP BY name;
Run Code Online (Sandbox Code Playgroud)
这样做的想法是,对于每个玩家,它会总结他们的运行并仅除以他们“出局”的次数,而忽略“出局”的次数。此代码不起作用,因为它仍然包括它们“notout”的时间,我尝试在其中添加“ELSE 0”,但由于混合了整数和字符数据类型,因此返回错误。
更新
该查询需要将玩家在每场比赛中的跑动相加,无论他们是否出局,然后除以他们出局的次数。例如,如果一名球员的比赛如下: 1. 10 次运行,出局 2. 20 次运行,出局 3. 30 次,未出局 他们的平均值将除以他们的总运行次数 (10+20+30) = 60,除以数量他们出局的次数 (2),因此他们的平均值为 30。
可能有一个我没有意识到的明显解决方案 - 有什么建议吗?!