我正在尝试使用以下公式:
function setDataValid(range, sourceRange) {
var rule = SpreadsheetApp.newDataValidation().requireValueInRange(sourceRange, true).build();
range.setDataValidation(rule);
}
function onEdit() {
var aCell = SpreadsheetApp.getActiveSheet().getActiveCell();
var aColumn = aCell.getColumn();
if (aColumn == 2 && SpreadsheetApp.getActiveSheet().getName() == 'Local' ) {
var range = SpreadsheetApp.getActiveSheet().getRange(aCell.getRow(), aColumn + 1);
var sourceRange = SpreadsheetApp.getActiveSpreadsheet().getRangeByName(aCell.getValue());
setDataValid(range, sourceRange)
}
}
Run Code Online (Sandbox Code Playgroud)
调试onEdit()时,它显示setDataValid(range,sourceRange)中的sourceRange为null.由于范围在我的工作表'Local'中,我试图将getActiveSpreadsheet()更改为按名称获取电子表格.有谁可以提供帮助?
我想比较Transactions 本月与Transactions期间去年同期月。
但是,当与Previous Period它进行比较时,它似乎与整个上个月(从技术上讲是上一期)进行比较。
我将如何将其与上个月同期进行比较?我试图寻找在创建新字段时可以使用的公式/函数,但我找不到任何可以指定日期范围的函数。
我想到了创建一个新的领域,我划分Transactions的最后一个月(不知道如何通过功能虽然得到这个数字),在本月过去的天数按天在一个月的时间就量除以它. 但这不会Transactions在那天之前创建上个月的公平表示。