我如何添加一个在更新单元格时重置的计数计时器?

How can i add a count up timer that resets when a cell is updated?

在我的电子表格中,有一列每个单元格都有一个下拉菜单。我想做的是,每当该列中单元格的值发生更改时,我需要一个 minute/second 计时器,它正在计数以重置回 0:00 并再次开始计数排。例如,如果我更改 C2 中的下拉菜单,我需要 F2 处的计时器重置并开始计数。如何做到这一点?

您将需要一个脚本来执行此操作。在 工具 > 脚本编辑器:

中试试这个功能
function onEdit(e) {
  if (!e) {
    throw new Error('Please do not run the script in the script editor window. It runs automatically when you hand edit the spreadsheet.');
  }
  const columnToWatch = 3; // column C = 3
  const timerCellOffset = 10 - columnToWatch; // column J = 10
  const timerFormula = '=now() - value("<<NOW>>")';
  const sheet = e.range.getSheet();
  if (e.range.columnStart !== columnToWatch
    || e.range.rowStart <= sheet.getFrozenRows()
    || !sheet.getName().match(/^(Dispatch Main|Sheet1|Sheet2|Sheet3)$/i)) {
    return;
  }
  const nowString = Utilities.formatDate(new Date(), e.source.getSpreadsheetTimeZone(), 'yyyy-MM-dd HH:mm:ss');
  const formula = e.value
    ? timerFormula.replace('<<NOW>>', nowString)
    : '';
  e.range
    .offset(0, timerCellOffset, 1, 1)
    .setFormula(formula)
    .setNumberFormat('m:ss');
}

为了 运行 函数,修改 Sheet1 C 列中的一个单元格。每次修改电子表格时计数器都会更新。选择文件 > 电子表格设置 > 计算 使其在电子表格打开时每分钟更新一次。

Google Sheets 不是实时系统,没有实用的方法让计数器每 自动更新一次。要更轻松地按需更新计数器,请在空闲单元格中 Insert > Checkbox,然后按 Space 切换复选框。

该函数检索电子表格的时区,因为它需要在用于计算与 now() 的差异的单元格中插入静态日期时间值,并且这些值必须位于同一时区才能获得正确的结果。