我正在嘗試制作將執行以下操作的 Apps Script 宏:
- 檢查復選標記(單元格值 = TRUE/FALSE)是否在 A 列中打勾
- 如果勾選,則增加 H 列中單元格的值
- 重復直到到達最后一行。
在對檔案進行了一些研究之后,我想出了這個,據我了解,它應該可以作業,但是由于我在這里提出了一個問題,所以顯然沒有。腳本執行時不會出錯,但不會更改作業表上的任何內容。
function increment() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var EndRow = ss.getLastRow();
for (var i = 2; i <= EndRow; i ) {
var Cell = ss.getRange(i,8);
var CheckmarkCell = ss.getRange(i,1);
if (CheckmarkCell.getValue() == 'TRUE') {
ss.Cell.setValue(ss.Cell.getValue() 1);
}
}
}
任何人都有任何想法,這里有什么問題?
uj5u.com熱心網友回復:
看看這是否有幫助?
function increMentWhenTrue() {
const sh = SpreadsheetApp.getActive().getSheetByName('Sheet1').getDataRange().offset(2, 0)
const values = sh.getValues().map(r => {
r[7] = (r[0]) ? (r[7]) ? r[7] 1 : 1 : r[7];
return r;
})
sh.setValues(values);
}
更改第一行中的作業表名稱以滿足您的要求。
與 if-else 陳述句相同的代碼
function increMentWhenTrue() {
const sh = SpreadsheetApp.getActive().getSheetByName('Blad1').getDataRange().offset(2, 0)
const values = sh.getValues().map(r => {
if (r[0]) {
if (r[7]) {
r[7] = r[7] 1;
} else {
r[7] = 1;
}
} else {
r[7] = r[7];
}
return r;
})
sh.setValues(values);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/463906.html
