簡體   English   中英

Google 表格 - 如何根據單元格的狀態向下移動每一行

[英]Google Sheets - How to move every single row downwards based on a cell's status

如果標題令人困惑,我很抱歉。 基本上,我正在嘗試制作我想要的工作表的日志記錄屏幕截圖,所以每次我在第 3 行的空“日志”列上寫一些東西時,ID、日期和小時都會自動填充,並且整行都會移動向下,在第 3 行再次留下一個空的,供我在需要時填充。

我不知道如何做到這一點,因為我真的不知道如何編程,甚至不知道如何很好地使用 Google 表格,所以我很感激任何幫助!

這需要一個 onEdit 觸發器並且不能從腳本編輯器或菜單運行。 將其復制到腳本編輯器中,然后編輯相應的列以觸發腳本。

function onEdit(e) {
  e.source.toast("Entry");
  const sh = e.range.getSheet();
  if(sh.getName() == "Log" && e.range.columnStart == 4 && e.range.rowStart > 2) {
    e.source.toast("Gate2");
    e.range.offset(0,-3).setValue(e.range.offset(-1,-3).getValue() + 1);
    e.range.offset(0, -2).setValue(new Date()).setNumberFormat("MM/dd/yyyy");
    e.range.offset(0, -1).setValue(new Date()).setNumberFormat("HH:mm");
  } 
  if(sh.getName() == "Log" && e.range.columnStart == 4 && e.range.rowStart == 2) {
    e.source.toast('Gate1')
    e.range.offset(0, -3).setValue(1);
    e.range.offset(0, -2).setValue(new Date()).setNumberFormat("MM/dd/yyyy");
    e.range.offset(0, -1).setValue(new Date()).setNumberFormat("HH:mm");
  }
}

演示:

在此處輸入圖像描述

下拉一行:

function onEdit(e) {
  e.source.toast("Entry");
  const sh = e.range.getSheet();
  if(sh.getName() == "Log" && e.range.columnStart == 4 && e.range.rowStart == 2) {
    e.source.toast('Gate1')
    e.range.offset(0, -3).setValue(e.range.offset(1,-3).getValue() + 1);
    e.range.offset(0, -2).setValue(new Date()).setNumberFormat("MM/dd/yyyy");
    e.range.offset(0, -1).setValue(new Date()).setNumberFormat("HH:mm");
    sh.insertRowBefore(2);
  }
}

演示:

在此處輸入圖像描述

暫無
暫無

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

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