我正在嘗試完全自動化 Google Sheet 上的關鍵字報告。
我每月從一個名為 Supermetrics 的 API 匯出我的資料。
我下面的腳本添加了一個新列(在 F 之后),并將資料復制到新創建的列(只有腳本的“日期”部分不起作用)。
我希望此列的標題是我的資料匯出日期。
- 如何按我想要的日期命名我的列(包含在單元格 C18 中)?
- 如何編輯我的腳本,以便我的列具有特定日期的名稱(比如說每個月的 1 日)?
在我的 Google 作業表和腳本的鏈接下方。非常感謝您的幫助!
https://docs.google.com/spreadsheets/d/1ZD-3r3sceK0H7Q17agyZqVggH3D6utnEFPy69aP2wUg/edit#gid=0
function insertColumn() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('KW');
var date = new Date();
var valuestocopy = sheet.getRange(2, 6, 14, 1)
sheet.insertColumnAfter(6).getRange(1,15).setValue(date).setNumberFormat("DD.MM.YY");
valuestocopy.copyValuesToRange(sheet, 7, 7, 2, 15);
}
uj5u.com熱心網友回復:
我注意到您的代碼不起作用,因為您在第 6 行中使用了 getRange() 函式。您的代碼所做的是指向第 1 行第 15 列中的單元格并在此單元格中插入日期。所以我所做的就是將函式指向所需的單元格(G1)。
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('KW');
var date = new Date();
var valuestocopy = sheet.getRange(2, 6, sheet.getLastRow(), 1);
sheet.insertColumnAfter(6).getRange("G1").setValue(date).setNumberFormat("DD/MM/YY");
valuestocopy.copyValuesToRange(sheet, 7, 7, 2, sheet.getLastRow());
sheet.getRange(1,6,sheet.getLastRow(),1).clearContent();
}
使用此代碼,時間戳已經從腳本生成并粘貼到新插入列的第 1 行,而不是復制存盤在包含當前時間戳的單元格 C18 中的資料。
應用代碼之前的作業表: https ://i.stack.imgur.com/DEBat.png
應用代碼后的作業表: https ://i.stack.imgur.com/Xgzup.png
參考:copyValuesToRange() getRange(a1Notation) getLastRow()
編輯:我在范圍選擇期間添加了 sheet.getLastRow() 選項,以便它可以根據需要復制的資料進行調整。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/459649.html
