【发布时间】:2015-09-02 01:00:45
【问题描述】:
我有一个 Google 电子表格,它可以为每月的工作旅行做一些简单的单元格引用和数学运算。我有一个函数可以读取 A 列中的值(通过工作表上的 WEEKDAY() 公式获得。如果它是星期六(值 5)或星期日(值 6),它会将整行涂黑。我需要它以某种方式格式化工作日(值 0-4),并且仅当该行中的日期单元格为空白时,将该行重新格式化为标准空白。如何搜索数组(您可以看到我是如何创建它的)并在该数组中找到一个空值?我将复制粘贴数组值的示例日志(注意周期性 [])
function weekendClean() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheet = ss.getActiveSheet()
var range = sheet.getRange("A3:A33")
var value = range.getValues()
var sheetCheckRange = sheet.getRange(2,2)
var sheetCheck = sheetCheckRange.getValue()
if (sheetCheck == "Date") {
for (i = 0; i < value.length; i++) {
if (value[i] == 5 || value[i] == 6) {
var row = sheet.getRange((i + 3), 1, 1, 11)
var cell = sheet.getRange((i + 3), 3)
row.setBackground("Black")
row.setBorder(true, null, true, null, null, null)
//top, left, bottom, right, vertical, horizontal
cell.setValue("W")
} if (value[i] == 0 || value[i] == 1 || value[i] == 2 || value[i] == 3 || value[i] == 4) {
var section1 = sheet.getRange((i+3), 2, 1, 5)
var section2 = sheet.getRange((i+3), 8, 1, 3)
section1.setBackground("white")
section2.setBackground("white")
section1.setBorder(false, null, false, null, null, false)
section2.setBorder(false, null, false, null, null, false)
}
}
}
}
此外,请随时清理该代码并附上解释(尤其是关于工作日要做什么的部分)
[15-09-01 17:54:04:051 PDT] [[1.0], [2.0], [], [4.0], [5.0], [6.0],
[0.0], [1.0], [], [3.0], [4.0], [5.0], [], [], [1.0], [], [3.0],
[4.0], [5.0], [6.0], [0.0], [1.0], [2.0], [3.0], [], [5.0], [6.0],
[0.0], [1.0], [2.0], []]
【问题讨论】:
标签: javascript arrays google-apps-script google-sheets