我有一個 Google 表格資料庫:
https://docs.google.com/spreadsheets/d/1VzHY8fTq8OsXhpHYHESSSPxeVNOnqxpjcsyWJpbuEOs/edit?usp=sharing
“基本統計”表(表 1)會定期更新,添加新行。第 1 行是標題行。第 2 行及第 5-8 列應用了字體顏色。第 6 列有一個下拉串列。第 7、12 和 13 列有公式。插入新行時,目前它不會復制上面詳述的格式和公式。
我做了一些搜索,發現了這個可能的答案:
function onOpen(e){
var ui = SpreadsheetApp.getUi()
ui.createMenu("Format sheet").addItem("Format", "setFormat").addToUi()
}
function onEdit(e){ //This is activated each time a modification happens in the sheet
var ss = SpreadsheetApp.getActive()
var sheet =ss.getActiveSheet()
if(sheet.getSheetName() == "Base Stats"){
var entryRange = e.range
var range = sheet.getRange(2,entryRange.getColumn(),1,entryRange.getNumColumns()) //This will be you range to get the formatting from row "1" and corresponding column based on the column being edited
Logger.log(entryRange.getA1Notation())
range.copyFormatToRange(sheet, entryRange.getColumn(), entryRange.getNumColumns() entryRange.getColumn()-1, entryRange.getRow(), entryRange.getNumRows() entryRange.getRow()-1)
Logger.log(entryRange.getColumn())
if(entryRange.getColumn() == 12){ //This column value will not be allowed modified except for row 1 of that column
if (entryRange.getRow() != 2){ //The columns in row "1" will be allowed to modified
e.range.setValue((e.oldvalue == undefined? "": e.oldvalue))
}
}
}
}
function setFormat(){
var ss = SpreadsheetApp.getActive()
var sheet = ss.getActiveSheet()
var firstRow = sheet.getRange(1, 1, 1, sheet.getLastColumn())
var dataRange = sheet.getDataRange()
firstRow.copyFormatToRange(sheet, 1, dataRange.getNumColumns(), 2, dataRange.getNumRows())
}
但是,我不確定我需要在腳本中編輯哪些內容才能應用于我的 Google 表格示例?非常感謝任何幫助。
uj5u.com熱心網友回復:
您不需要復制公式,更改為arrayformulaM1 中的示例
={"Score
(Weighted)";arrayformula((H2:H*2) (E2:E*1.5) (F2:F G2:G))}
立即為所有列(和整列)應用格式,您無需復制格式規則
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/473308.html
