Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 電腦軟體介紹

WPS 表格自動記錄輸入時間:IF+NOW+循環引用技巧,刪除重輸時間同步更新

編輯:電腦軟體介紹

需求:團隊成員在 C 欄填入「完成數量」,D 欄自動記錄該行**首次輸入的時間**;若清空 C 欄再重新輸入,D 欄時間**自動更新為最新輸入時間**;手動輸入時間易誤、批次填充 `NOW()` 會隨表格重算全變。

核心公式(輸入於 D2,向下填充)

=IF(C2="","",IF(D2="",NOW(),D2))

原理解析

  • `IF(C2="","",...)`:C2 為空 → D2 顯示空白(清空時間)。
  • `IF(D2="",NOW(),D2)`:C2 非空時,若 D2 當前為空(首次輸入)→ 寫入 `NOW()`(當前時間);若 D2 已有值(非首次)→ 保持原值(利用**迭代計算/循環引用**特性鎖定時間)。

必要設置(兩步不可少)

  1. 啟用迭代計算:選項 → 計算 → 勾選「啟用迭代計算」→ 最大迭代次數 1、最大變化量 0.001。(WPS:文件 → 選項 → 計算 → 迭代計算)。
  2. D 欄設為日期時間格式:選中 D 欄 → 右鍵設定儲存格格式 → 數字 → 自定義 → 輸入 `yyyy/m/d h:mm AM/PM`(或 `yyyy-mm-dd hh:mm:ss`)。
    公式輸入示例
    自定義日期格式

進階變體

  • 記錄最後修改時間(每次改 C 都更新):去掉 `IF(D2="",...)`,直接 `=IF(C2="","",NOW())`,但會隨表格重算飄移。
  • 記錄具體操作者:結合 `ENVIRON("USERNAME")` 或 VBA `Application.UserName` 寫入 E 欄。
  • 防篡改:保護工作表鎖定 D 欄,僅允許編輯 C 欄。

注意事項

  • 迭代計算屬全域設置,可能影響其他依賴精確計算的工作表,建議專表專用。
  • 跨裝置協作(雲端同步)時,`NOW()` 取決於**當前計算端的系統時間**,確保團隊電腦時間同步(NTP)。
  • 大數據量(>5 萬行)迭代計算會明顯拖慢開啟/保存速度,改用 VBA `Worksheet_Change` 事件寫入靜態時間值更高效。

本文來源:系統之家 www.xp85.com

Copyright © Windows教程網 All Rights Reserved