防止时间戳公式在 Google 个工作表中重新计算

Preventing Timestamp Formulas from Recalculating in Google Sheets

我们是一家在全国拥有多个呼叫中心的公司。为了跟踪谁离线以及何时离线(让我们知道有多少人已安排好或正在工作登录),我们想跟踪电话会议。

2 个部分,我们将实时使用它来确定当前谁离线,然后最终使用收集到的数字来帮助我们的员工在未来更好地工作

用途:我希望我们的远程团队能够在 B 列或 C 列中输入 "x",然后输入 sheet(或脚本 运行ning sheet) 会在 G 列或 H 列中为开始或结束时间做一个自动时间戳。

问题:出于某种原因,我一直在使用的时间戳脚本每天被触发 运行 几次,并将所有开始时间和结束时间重置为当前时间,从而丢失我们所有的持续时间数据对于那些被盖章的时代。远程使用它的团队非常 un-tech 精明。如此简单是最好的。

完美世界结果:当时间戳在字段中时,它永远不会 re-calculate 公式。

问题:是否有任何类型的脚本可以帮助我在 G 列或 H 列中包含公式结果(但将公式留空)的任何单元格中执行特殊复制和粘贴(仅限值)细胞?)

任何防止 sheet 从 re-calculating 发生的方法,我无法弄清楚是什么导致了这个 sheet 到 re-calcualte,因为时代不同。

感谢任何帮助。这是 link 到 sheet:

https://docs.google.com/spreadsheets/d/1hbTatQFlZNBPsoKp--jbT3AFhJlR-8t42olaS8cDw/edit?usp=sharing

我已将此脚本添加到您的电子表格中:

function onEdit(e) {
if (e.source.getActiveSheet()
    .getName() === 'WFM View' || e.range.columnStart !== 2 && e.range.columnStart !== 3 ||
    e.range.rowStart < 4 || e.value.toUpperCase() !== 'X') return;
e.range.offset(0, 5)
    .setValue(new Date());
}

该脚本应该适用于除第一个工作表之外的所有工作表,并且当在 B 或 C 中输入 X(不区分大小写)时,将在列 G 或 H 中写入时间戳。

注意:

  • 我已经注释掉了你的其他脚本。
  • 确保删除 G 列和 H 列中的这些类型的公式:

    =IF(B4="","",TIMESTAMP())

  • 删除公式后,通过在列 B 或 C 中输入 'X' 来尝试脚本,看看是否有效?