簡體   English   中英

當在任何其他單元格中輸入特定值時,Google 表格會自動填充單元格中的時間戳

[英]Google Sheets auto populate timestamp in a cell when a particular value is entered in any other cell

我在 Google 表格中使用工作跟蹤器。 我有從 A 到 U 的列。我在“L”列中有“狀態”,並帶有下拉選項 -查詢狀態待處理、對帳完成、等待 IM 響應 當我將狀態設置為“查詢狀態待定”時,我希望在“N”列中填充時間戳並且它應該是靜態的。 同樣明智 - 對於 Reconciliation Done,時間戳應該在“E”列中。 對於“等待 IM 響應”狀態,時間戳應在“R”列中。 所有時間戳都應該是靜態的

在編輯事件上插入時間戳的最佳方法是Google Apps 腳本

Apps Script 提供了許多有用的函數來處理 Google 電子表格 它還包含像onEdit這樣的觸發器,當在電子表格中進行編輯時會觸發這些觸發器,並允許您檢索事件對象(用於確定例如已編輯的列)。 熟悉 Apps Script 的最佳方法是遵循官方教程

如何在 Apps 腳本中實現您的請求:

  1. Tools -> Script editor的電子表格Tools -> Script editor
  2. 粘貼下面的腳本
  3. 保存腳本並點擊“播放按鈕”(運行腳本)
  4. 忽略您收到的錯誤消息。 您的腳本現在可以正常工作。
function onEdit(e) {
  var range = e.range;
  var column = range.getColumn();
  Logger.log('edited');
  if (column == 12){
    var timestamp = new Date();
    var row = range.getRow();
    var value = e.value;
    var sheet = e.source.getActiveSheet();
    Logger.log("edited cell: "+range.getA1Notation());
    if( value == "Inquiry Status Pending"){
      sheet.getRange(row, 14).setValue(timestamp);
    } else if(value == "Reconciliation Done"){
      sheet.getRange(row, 5).setValue(timestamp);
    } else if(value == "Waiting for IM Response"){
      sheet.getRange(row, 18).setValue(timestamp);
    }
  }
}

我建議您花一些時間研究 Apps 腳本,以便您了解所提供代碼的工作原理並使其適應您的需求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM