![](/img/trans.png)
[英]How to Push Split Google Spreadsheet Cell Value to Adjacent Cell
[英]Clear cell value of adjacent cell if value is a date
我一直在谷歌應用程序腳本中編寫這個腳本一段時間,並認為我幾乎弄明白了。 我可以真的使用另一雙眼睛,因為它還沒有完成。
我正在嘗試做什么:
我正在處理一份涉及暫定和實際日期的表格。 這兩個日期位於相鄰列中。 一旦“實際”日期填入其單元格,我希望刪除“暫定”日期。
這是我到目前為止的腳本:
function onEdit() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange('F4:F');
var range2 = sheet.getRange('E4:E');
var rule = range.getDataValidation();
if (rule != null) {
var criteria = rule.getCriteriaType();
var args = rule.getCriteriaValues();
var clear = range2.clear({validationsOnly: false});
}
}
要使此腳本運行,我需要做什么?
如果列F已填滿,則似乎您要刪除E列中的值。 如果是這樣,我認為沒有必要處理數據驗證規則。 以下腳本檢查已編輯的單元格是否在列F中,行> = 4,並且單元格中的新值是日期。 如果這些條件成立,則將單元格清除到左側(使用offset
)。
function onEdit(e) {
if (e.range.getColumn() == 6 && e.range.getRow() >= 4) {
if (e.range.getValue() instanceof Date) {
e.range.offset(0, -1).clear();
}
}
}
注意:此腳本使用傳遞給onEdit函數的事件對象 。 有趣的是,它的“價值”屬性在這里沒有用,因為即使用戶輸入日期,它也不是日期對象。 這就是我使用e.range.getValue()
代替的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.