鑒于下面顯示的格式,如何實作這一點?

我看到有這樣的建議,但它并沒有完全涵蓋下面的格式。
我幾乎沒有開始,因為我真的不知道從這里去哪里:
let dates = ["","01/01/2021","02/01/2021","03/01/2021","04/01/2021","05/01/2021","06/01/2021"]
let data = [[1,"Item A","",10,15,9,8,10,15],[2,"Item B","",20,25,35,20,5,15],[3,"Item C","",10,25,24,26,26,1]]
function savedata() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const itemsSheet = ss.getSheetByName('Items');
const dataRng = itemsSheet.getRange(4, 1, 3, itemsSheet.getLastColumn());
let dates = itemsSheet.getRange(2, 3, 1, itemsSheet.getLastColumn() - 2).getValues().flat();
dates = dates.map(e => e !='' ? Utilities.formatDate(new Date(e), Session.getTimeZone(), "MM/dd/yyyy") : '')
const data = dataRng.getValues();
}
欣賞任何方向!
uj5u.com熱心網友回復:
dates當使用和的示例值時data,以下示例腳本怎么樣?
示例腳本:
function myFunction() {
// These values are from your question.
let dates = ["", "01/01/2021", "02/01/2021", "03/01/2021", "04/01/2021", "05/01/2021", "06/01/2021"];
let data = [[1, "Item A", "", 10, 15, 9, 8, 10, 15], [2, "Item B", "", 20, 25, 35, 20, 5, 15], [3, "Item C", "", 10, 25, 24, 26, 26, 1]];
// Create an array for putting to the sheet.
const [, ...d] = dates;
const [variance, item, , ...values] = data[0].map((_, c) => data.map(r => r[c]));
const res = d.flatMap((e, i) => variance.map((f, j) => [e, f, item[j], values[i][j]]));
// The values are put to "Sheet1".
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
sheet.getRange(1, 1, res.length, res[0].length).setValues(res);
}
運行此腳本時,使用您提供的示例值,您的預期值將放入“Sheet1”。
我認為在這種情況下,如果你想使用日期的日期物件,你可以直接使用通過檢索到的值
getValues。
參考:
- 地圖()
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/492981.html
標籤:谷歌应用脚本
