如果變更或新增其他儲存格值,則在儲存格中插入今天的日期

如果變更或新增其他儲存格值,則在儲存格中插入今天的日期

我有一個電子表格,其中有一列標記為“狀態日期”,該列與其他幾個單元格相鄰,其中一些單元格包含其他日期,一些單元格僅包含文本,其他單元格評估一組條件是否為真,在這種情況下結果為“是”或“否”答案,然後根據答案有條件地格式化以填充該單元格。

我希望能夠對“狀態日期”單元格值執行的操作是,如果該行中的任何其他單元格由於編輯或添加/刪除信息而發生更改,則將其填充並“鎖定”為今天的日期,包括包含基於其他儲存格中的值的公式的儲存格。它應該保持靜態,直到稍後同一行中的其他內容發生變更。不會在「狀態日期」列上評估任何其他儲存格值,因此,如果需要將其移至 A 列或 B 列以使公式正常工作,或可能要使用 VBA 巨集,那麼這不應該是問題。

狀態日期列範例

答案1

VBA方法

這種類型的時間自動時間戳記只有在 Excel 後台編寫一些非常基本的 VBA 才能真正實現。例如,請查看此連結即可開始:

https://docs.microsoft.com/en-us/office/troubleshoot/excel/run-macro-cells-change

不幸的是,VBA 巨集並不總是一個選項,尤其是在檔案將被共用的情況下。一些企業安全設定完全阻止宏,更不用說如果您不熟悉基本編程,則編寫 VBA 會面臨挑戰。

資料驗證時間戳法

幸運的是,有兩種無需 VBA 即可在 Excel 中新增時間戳記的解決方法。一種是使用清單類型的Data Validation來「採樣」當前時間。設定一個引用儲存格或命名範圍等於 =TODAY() 或 =NOW() ,每次您編輯任何儲存格(即重新計算)時,它都會自動更新,因為 NOW/TODAY 是一個易失函數。設定日期輸入儲存格的資料驗證(在資料功能區上),選擇清單並引用今天/現在儲存格。這給出了一個下拉列表,其中包含反映最近重新計算的時間。從下拉清單中選擇後,它會複製時間值並將其「鎖定」 - 但您仍然需要自己選擇它。

循環公式法

另一種方法需要更改 Excel 設定以允許循環公式/迭代計算,這並不理想,因為它是全域設定。但它的效果非常好,並且與您在問題中所期望的完全一樣。看這裡:

https://howtoexcelatexcel.com/blog/create-a-timestamp-in-excel-with-formulas/

優點和缺點

VBA 方法運作非常可靠,最適合單一使用者或使用者熟悉允許基於安全設定的巨集的情況。需要一些基本的編碼技能。此外,一旦執行巨集,您的撤銷歷史記錄通常就會遺失。

資料驗證方法實施起來非常簡單,開箱即用,無需特殊設定或安全津貼。但是,要求使用者在使用下拉儲存格新增時間戳記時保持一致(在對行進行其他變更之後)。

當您在其他儲存格中輸入資料時,循環公式方法會自動反映時間戳,但您必須啟用全域 Excel 設定以進行迭代,但會出現一些不直觀的行為。雖然該設定與工作簿一起儲存,但如果您在此之前打開任何其他工作簿,則該設定將重設為無迭代。開啟此工作簿不會將其變更回來。您必須先開啟此工作簿。此外,開啟和儲存其他工作簿也會保存這些文件的全域設置,這可能會成為一個(小)問題。大多數情況下,它會在普通工作簿中輸入循環公式時停用錯誤報告。

詩。快速鍵方法

有時,從 IT 人員的角度來看,最簡單的方法並不是最理想的,但它適用於最終用戶。您可以按以下快捷鍵之一將目前時間或日期作為值插入目前儲存格:

CTRL and ; (to insert the current date)
CTRL SHIFT and : (to insert the current time)

相關內容