我知道如何創建一個范圍以從單元格中獲取值并添加到陣列中。我在從多個不按順序 (1,1,10,1) 的單元格添加值時遇到問題。
我正在嘗試添加這樣的值
var Array = [
sheet.getRange("AD3").getValue(),
sheet.getRange("AG3").getValue(),
sheet.getRange("AJ3").getValue(),
sheet.getRange("AM3").getValue(),
sheet.getRange("AD23").getValue(),
sheet.getRange("AG23").getValue(),
sheet.getRange("AJ23").getValue(),
sheet.getRange("AM23").getValue(),
]
它不起作用,每個都回傳“未定義”。它們是這些單元格中的日期。這是我測驗的方法:
for (var i=0; i < Array.length; i ) {
if (Array[i][0] != ""){
Logger.log(Array[i][0])
}
}
任何幫助都會得到回報。
uj5u.com熱心網友回復:
從您在評論中的回復中,我了解到您的問題來自以下腳本。
var Array = [
sheet.getRange("AD3").getValue(),
sheet.getRange("AG3").getValue(),
sheet.getRange("AJ3").getValue(),
sheet.getRange("AM3").getValue(),
sheet.getRange("AD23").getValue(),
sheet.getRange("AG23").getValue(),
sheet.getRange("AJ23").getValue(),
sheet.getRange("AM23").getValue(),
];
for (var i=0; i < Array.length; i ) {
if (Array[i][0] != ""){
Logger.log(Array[i][0])
}
}
在你的價值Array是一維陣列。因此,當您使用此腳本時,將檢索每個元素的頂部字母。在這種情況下,當每個值都是日期物件時,null將回傳。我認為這可能是您的問題的原因。
當您想查看Array使用附加腳本的每個值時,以下修改如何?
修改后的腳本:
在此修改中,您的 for 回圈被修改。
for (var i = 0; i < Array.length; i ) {
if (Array[i].toString() != "") {
Logger.log(Array[i]);
}
}
uj5u.com熱心網友回復:
使用 RangeList 類:
function myfunk() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName('Sheet0');
const rgl = sh.getRangeList(["AD3","AG3","AJ3","AM3","AD23","AG23","AJ23","AM23"]);
let vals = []
rgl.getRanges().forEach(r => {
vals.push({loc: r.getA1Notation(),value: r.getValue()})
});
Logger.log(JSON.stringify(vals))
}
范圍串列
Execution log
11:16:15 AM Notice Execution started
11:16:17 AM Info [{"loc":"AD3","value":""},{"loc":"AG3","value":""},{"loc":"AJ3","value":""},{"loc":"AM3","value":""},{"loc":"AD23","value":""},{"loc":"AG23","value":""},{"loc":"AJ23","value":""},{"loc":"AM23","value":""}]
11:16:17 AM Notice Execution completed
顯然我的價值觀不會同意你的,因為我沒有你的資料
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/358817.html
