【问题标题】:Preventing Timestamp Formulas from Recalculating in Google Sheets防止在 Google 表格中重新计算时间戳公式
【发布时间】:2015-03-27 00:39:41
【问题描述】:

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

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

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

问题:由于某种原因,我一直使用的时间戳脚本被触发每天运行几次,并将所有开始时间和结束时间重置为当前时间,丢失了那些被标记的时间的所有持续时间数据.远程使用它的团队非常不懂技术。这么简单最好。

完美世界结果:当时间戳在字段中时,它永远不会重新计算公式。

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

任何防止工作表重新计算的方法,由于时间不同,我无法弄清楚是什么导致此工作表重新计算。

感谢任何帮助。以下是工作表的链接:

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

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

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

    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(不区分大小写)时,将在 col G 或 H 中写入时间戳。

    注意:

    • 我已注释掉您拥有的其他脚本。
    • 确保在 col G 和 H 中删除这些类型的公式:

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

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

    【讨论】:

    • 谢谢你,这正是我们正在寻找的。非常感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-02
    • 1970-01-01
    • 1970-01-01
    • 2016-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多