繁体   English   中英

如何在使用 IMPORTRANGE 的 Google 表格中将持续时间转换为秒

[英]How to convert duration to seconds in Google Sheets which uses IMPORTRANGE

我已使用以下查询将数据从 Googlesheet1 复制到 Googlesheet2

=IMPORTRANGE("url","!A2:H")

它已将数据从 Googlesheet1 复制到 Googlesheet2。

在该工作表中,我有一个如下图所示的持续时间列

在此处输入图片说明

当我使用应用程序脚本将数据复制到 Firestore 而不是保存持续时间时,它会以 DateTime 格式保存数据,如下所示。 在此处输入图片说明

有什么方法可以将给定的持续时间转换为 Google 表格中的秒数。

我曾尝试使用=value(G2*24*3600)但它在 Googlesheet2 中不起作用,因为该表格是 Googlesheet1 的克隆

应用脚本逻辑:

function firestore() {
   // Firestore setup
   const email = "//client-email";
   const key = "//client-key";
   const projectId = "timesheet-aog";
   var firestore = FirestoreApp.getFirestore (email, key, projectId);

   // get document data from ther spreadsheet
   var ss = SpreadsheetApp.getActiveSpreadsheet();
   var sheetname = "timesheet";
   var sheet = ss.getSheetByName(sheetname); 
   // get the last row and column in order to define range
   var sheetLR = sheet.getLastRow(); // get the last row
   var sheetLC = sheet.getLastColumn(); // get the last column

   var dataSR = 2; // the first row of data
   // define the data range
   var sourceRange = sheet.getRange(2,1,sheetLR-dataSR+1,sheetLC);

   // get the data
   var sourceData = sourceRange.getValues();
   // get the number of length of the object in order to establish a loop value
   var sourceLen = sourceData.length;

   console.log('sourceLen is', sourceLen);
   // Loop through the rows
   for (var i=0;i<sourceLen;i++){

     var data = {};

     console.log('data is', sourceData);

     data.date = sourceData[i][0];
     data.name = sourceData[i][1];
     data.workFrom = sourceData[i][2];
     data.project = sourceData[i][3];
     data.phase = sourceData[i][4];
     data.task = sourceData[i][5];
     data.totalHrs = sourceData[i][6];
     data.comments = sourceData[i][7];

   firestore.createDocument("timesheet",data);

  }

}

这是第二张纸的A1单元格的公式:

={
  IMPORTRANGE("url","!A2:F"),
  ARRAYFORMULA(
    IF(
      IMPORTRANGE("url","!G2:G") = "",
        "",
        N(IMPORTRANGE("url","!G2:G")) * 24 * 3600
    )
  ),
  IMPORTRANGE("url","!H2:H")
} 

尝试对原始工作表中的列( A2:FG2:GH2:H )使用命名范围,并按这些名称导入它们,这样您就无需调整使用确切列名称的公式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM